/* ==========================================================================
   APS 공개 사이트 유틸리티 기준 파일
   - 사이트별 색상은 colors.css에서, 추가 화면 스타일은 custom.css에서 관리합니다.
   - 이 파일에 사이트별 선택자를 추가하지 마세요.
   ========================================================================== */
/* ############################################################
   [00] ROOT VARIABLES - 디자인 시스템 핵심 변수
############################################################
*/
:root {
    /* 줄간격 변수 */
    --lh-1: 1;
    --lh-105: 1.05;
    --lh-11: 1.1;
    --lh-115: 1.15;
    --lh-12: 1.2;
    --lh-125: 1.25; /* 기존 유지 */
    --lh-13: 1.3;
    --lh-135: 1.35;
    --lh-14: 1.4;
    --lh-145: 1.45;
    --lh-15: 1.5;
    --lh-155: 1.55;
    --lh-16: 1.6;
    --lh-165: 1.65;
    --lh-17: 1.7;
    --lh-175: 1.75; /* 기존 유지 */
    --lh-18: 1.8;
    --lh-185: 1.85;
    --lh-19: 1.9;
    --lh-195: 1.95;
    --lh-2: 2;

    --ls-05: clamp(-0.5px, -0.03vw, -0.3px);
    --ls-10: clamp(-1px, -0.06vw, -0.5px);
    --ls-15: clamp(-1.5px, -0.1vw, -0.8px);
    --ls-20: clamp(-2px, -0.15vw, -1px);
    --ls-25: clamp(-2.5px, -0.2vw, -1.2px);

    --ls-p10: clamp(0.5px, 0.06vw, 1px);

    --fluid-max: 70vw;
}

/* 유동형 여백 시스템 (360px -> 1920px) */
:root {
    --sp-4: clamp(2.67px, 0.07vw + 2.41px, 4px);
    --sp-5: clamp(3.33px, 0.09vw + 3.02px, 5px);
    --sp-6: clamp(4px, 0.1vw + 3.62px, 6px);
    --sp-7: clamp(4.67px, 0.12vw + 4.21px, 7px);
    --sp-8: clamp(5.33px, 0.14vw + 4.8px, 8px);
    --sp-9: clamp(6px, 0.16vw + 5.42px, 9px);
    --sp-10: clamp(6.67px, 0.17vw + 6.03px, 10px);
    --sp-11: clamp(7.33px, 0.19vw + 6.62px, 11px);
    --sp-12: clamp(8px, 0.21vw + 7.21px, 12px);
    --sp-13: clamp(8.66px, 0.22vw + 7.82px, 13px);
    --sp-14: clamp(9.33px, 0.24vw + 8.43px, 14px);
    --sp-15: clamp(10px, 0.26vw + 9.02px, 15px);
    --sp-16: clamp(10.67px, 0.28vw + 9.62px, 16px);
    --sp-17: clamp(11.34px, 0.3vw + 10.23px, 17px);
    --sp-18: clamp(12px, 0.31vw + 10.84px, 18px);
    --sp-19: clamp(12.66px, 0.33vw + 11.43px, 19px);
    --sp-20: clamp(13.33px, 0.35vw + 12.02px, 20px);
    --sp-22: clamp(14.67px, 0.38vw + 13.24px, 22px);
    --sp-24: clamp(16px, 0.42vw + 14.43px, 24px);
    --sp-26: clamp(17.33px, 0.45vw + 15.64px, 26px);
    --sp-28: clamp(18.67px, 0.49vw + 16.83px, 28px);
    --sp-30: clamp(20px, 0.52vw + 18.05px, 30px);
    --sp-32: clamp(21.33px, 0.56vw + 19.23px, 32px);
    --sp-34: clamp(22.67px, 0.59vw + 20.46px, 34px);
    --sp-36: clamp(24px, 0.62vw + 21.68px, 36px);
    --sp-38: clamp(25.33px, 0.66vw + 22.85px, 38px);
    --sp-40: clamp(26.67px, 0.69vw + 24.08px, 40px);
    --sp-42: clamp(28px, 0.73vw + 25.26px, 42px);
    --sp-44: clamp(29.33px, 0.76vw + 26.48px, 44px);
    --sp-46: clamp(30.67px, 0.8vw + 27.67px, 46px);
    --sp-48: clamp(32px, 0.83vw + 28.89px, 48px);
    --sp-50: clamp(33.33px, 0.87vw + 30.07px, 50px);
    --sp-52: clamp(34.67px, 0.9vw + 31.3px, 52px);
    --sp-54: clamp(36px, 0.94vw + 32.48px, 54px);
    --sp-56: clamp(37.33px, 0.97vw + 33.69px, 56px);
    --sp-58: clamp(38.67px, 1.01vw + 34.88px, 58px);
    --sp-60: clamp(40px, 1.04vw + 36.1px, 60px);
    --sp-62: clamp(41.33px, 1.08vw + 37.28px, 62px);
    --sp-64: clamp(42.67px, 1.11vw + 38.51px, 64px);
    --sp-66: clamp(44px, 1.15vw + 39.69px, 66px);
    --sp-68: clamp(45.33px, 1.18vw + 40.91px, 68px);
    --sp-70: clamp(46.67px, 1.22vw + 42.09px, 70px);
    --sp-72: clamp(48px, 1.25vw + 43.31px, 72px);
    --sp-74: clamp(49.33px, 1.28vw + 44.53px, 74px);
    --sp-76: clamp(50.67px, 1.32vw + 45.72px, 76px);
    --sp-78: clamp(52px, 1.35vw + 46.94px, 78px);
    --sp-80: clamp(53.33px, 1.39vw + 48.12px, 80px);
    --sp-82: clamp(54.67px, 1.42vw + 49.34px, 82px);
    --sp-84: clamp(56px, 1.46vw + 50.52px, 84px);
    --sp-86: clamp(57.33px, 1.49vw + 51.74px, 86px);
    --sp-88: clamp(58.67px, 1.53vw + 52.93px, 88px);
    --sp-90: clamp(60px, 1.56vw + 54.15px, 90px);
    --sp-92: clamp(61.33px, 1.6vw + 55.33px, 92px);
    --sp-94: clamp(62.67px, 1.63vw + 56.56px, 94px);
    --sp-96: clamp(64px, 1.67vw + 57.74px, 96px);
    --sp-98: clamp(65.33px, 1.7vw + 58.95px, 98px);
    --sp-100: clamp(66.67px, 1.74vw + 60.15px, 100px);
    --sp-102: clamp(68px, 1.77vw + 61.36px, 102px);
    --sp-104: clamp(69.33px, 1.81vw + 62.54px, 104px);
    --sp-106: clamp(70.67px, 1.84vw + 63.77px, 106px);
    --sp-108: clamp(72px, 1.88vw + 64.95px, 108px);
    --sp-110: clamp(73.33px, 1.91vw + 66.17px, 110px);
    --sp-112: clamp(74.67px, 1.94vw + 67.39px, 112px);
    --sp-114: clamp(76px, 1.98vw + 68.58px, 114px);
    --sp-116: clamp(77.33px, 2.01vw + 69.79px, 116px);
    --sp-118: clamp(78.67px, 2.05vw + 70.98px, 118px);
    --sp-120: clamp(78px, 2.19vw + 69.79px, 120px);
    --sp-125: clamp(81.25px, 2.28vw + 72.7px, 125px);
    --sp-130: clamp(84.5px, 2.37vw + 75.61px, 130px);
    --sp-135: clamp(87.75px, 2.46vw + 78.53px, 135px);
    --sp-140: clamp(91px, 2.55vw + 81.44px, 140px);
    --sp-145: clamp(94.25px, 2.64vw + 84.35px, 145px);
    --sp-150: clamp(97.5px, 2.73vw + 87.26px, 150px);
    --sp-155: clamp(100.75px, 2.83vw + 90.14px, 155px);
    --sp-160: clamp(104px, 2.92vw + 93.05px, 160px);
    --sp-165: clamp(107.25px, 3.01vw + 95.96px, 165px);
    --sp-170: clamp(110.5px, 3.1vw + 98.88px, 170px);
    --sp-175: clamp(113.75px, 3.19vw + 101.79px, 175px);
    --sp-180: clamp(117px, 3.28vw + 104.7px, 180px);
    --sp-185: clamp(120.25px, 3.37vw + 107.61px, 185px);
    --sp-190: clamp(123.5px, 3.46vw + 110.53px, 190px);
    --sp-195: clamp(126.75px, 3.55vw + 113.44px, 195px);
    --sp-200: clamp(130px, 3.65vw + 116.31px, 200px);
    --sp-205: clamp(133.25px, 3.74vw + 119.22px, 205px);
    --sp-210: clamp(136.5px, 3.83vw + 122.14px, 210px);
    --sp-215: clamp(139.75px, 3.92vw + 125.05px, 215px);
    --sp-220: clamp(143px, 4.01vw + 127.96px, 220px);
    --sp-225: clamp(146.25px, 4.1vw + 130.88px, 225px);
    --sp-230: clamp(149.5px, 4.19vw + 133.79px, 230px);
    --sp-235: clamp(152.75px, 4.28vw + 136.7px, 235px);
    --sp-240: clamp(156px, 4.38vw + 139.57px, 240px);
    --sp-245: clamp(159.25px, 4.47vw + 142.49px, 245px);
    --sp-250: clamp(162.5px, 4.56vw + 145.4px, 250px);

    /* z-index, 층위 설정  */

    --z-back: -1;
    --z-base: 1;
    --z-two: 2;
    --z-header: 1000;
    --z-sticky: 1020;
    --z-modal: 1050;
    --z-toast: 1080;

    /* 버튼 전용 컬러 변수 */
    --btn-main: var(--main-color); /* 관리 버튼용 (Blue) */
    --btn-main-hover: #0069d9;
    --btn-main-active: #0056b3;

    --btn-sub: var(--gray-200); /* 삭제 버튼용 (보조컬러/Gray) */
    --btn-sub-hover: var(--gray-300);
    --btn-sub-active: var(--gray-400);

    --ft-14: 14px;
    --ft-15: clamp(14px, 0.05vw + 13.81px, 15px);
    --ft-16: clamp(14px, 0.09vw + 13.66px, 16px);
    --ft-17: clamp(15px, 0.09vw + 14.66px, 17px);
    --ft-18: clamp(16px, 0.09vw + 15.66px, 18px);

    --ft-19: clamp(16px, 0.14vw + 15.48px, 19px);
    --ft-20: clamp(17px, 0.14vw + 16.48px, 20px);
    --ft-21: clamp(17px, 0.18vw + 16.33px, 21px);
    --ft-22: clamp(18px, 0.18vw + 17.33px, 22px);
    --ft-23: clamp(18px, 0.23vw + 17.14px, 23px);
    --ft-24: clamp(19px, 0.23vw + 18.14px, 24px);
    --ft-25: clamp(19px, 0.27vw + 17.99px, 25px);

    /* Card Title 4 : 26 → 20 */
    --ft-26: clamp(20px, 0.27vw + 18.99px, 26px);

    --ft-27: clamp(20px, 0.32vw + 18.8px, 27px);
    --ft-28: clamp(21px, 0.32vw + 19.8px, 28px);
    --ft-29: clamp(21px, 0.37vw + 19.61px, 29px);

    /* Card Title 3 : 30 → 22 */
    --ft-30: clamp(22px, 0.37vw + 20.61px, 30px);

    --ft-31: clamp(22px, 0.41vw + 20.46px, 31px);
    --ft-32: clamp(23px, 0.41vw + 21.46px, 32px);
    --ft-33: clamp(23px, 0.46vw + 21.28px, 33px);

    /* Card Title 2 : 34 → 24 */
    --ft-34: clamp(24px, 0.46vw + 22.28px, 34px);

    --ft-35: clamp(24px, 0.5vw + 22.13px, 35px);
    --ft-36: clamp(25px, 0.5vw + 23.13px, 36px);
    --ft-37: clamp(25px, 0.55vw + 22.94px, 37px);

    /* Card Title 1 : 38 → 26 */
    --ft-38: clamp(26px, 0.55vw + 23.94px, 38px);

    --ft-39: clamp(26px, 0.6vw + 23.75px, 39px);
    --ft-40: clamp(27px, 0.6vw + 24.75px, 40px);
    --ft-41: clamp(27px, 0.64vw + 24.6px, 41px);

    /* Section Title : 42 → 28 */
    --ft-42: clamp(28px, 0.64vw + 25.6px, 42px);

    --ft-43: clamp(28px, 0.69vw + 25.43px, 43px);

    /* Headline : 44 → 29 */
    --ft-44: clamp(29px, 0.69vw + 26.41px, 44px);
    --ft-45: clamp(29px, 0.73vw + 26.26px, 45px);
    --ft-46: clamp(30px, 0.73vw + 27.26px, 46px);
}

/* 1. Pretendard (기본 권장) */
.u-pretendard {
    font-family:
        'Pretendard',
        -apple-system,
        BlinkMacSystemFont,
        system-ui,
        Roboto,
        'Helvetica Neue',
        'Segoe UI',
        'Apple SD Gothic Neo',
        'Noto Sans KR',
        'Malgun Gothic',
        sans-serif;
}

/* 2. Roboto (영문/범용) */
.u-roboto {
    font-family: 'Roboto', sans-serif;
}

/* 3. Noto Sans KR (표준 한글) */
.u-notosans {
    font-family: 'Noto Sans KR', sans-serif;
}

/* 4. Montserrat (포인트/영문 디자인) */
.u-montserrat {
    font-family: 'Montserrat', sans-serif;
}
.u-notoserif {
    font-family: 'Noto Serif KR', serif;
}
.u-maruburi {
    /* 1번(Google Fonts) 사용 시 */
    font-family: 'Nanum Myeongjo', serif;

    /* 2번(눈누/jsdelivr) 사용 시 */
    font-family: 'MaruBuri-Regular', serif;
}

.u-asta-sans {
    font-family: 'Asta Sans', sans-serif !important;
    font-optical-sizing: auto;
}

.u-fluid {
    width: 75vw;
    min-width: 320px;
    max-width: 1920px;
    /* 최소 320px / 평소엔 75vw / 최대 1440px */
    margin-left: auto;
    margin-right: auto;
}

.u-fluid-lg {
    width: 87.5vw;
    min-width: 320px;
    margin-left: auto;
    margin-right: auto;
}

.u-fluid-xl {
    width: 100vw;
}
.u-pl-fluid {
    padding-left: max(24px, 15vw);
}
.u-pr-fluid {
    padding-right: max(24px, 15vw);
}

@media screen and (max-width: 1439px) {
    .u-1920 {
        max-width: 1920px;
        width: 100%;
        margin: 0 auto;
        padding: 0 20px;
    }
    .u-1440 {
        max-width: 1440px;
        width: 100%;
        margin: 0 auto;
        padding: 0 20px;
    }
}

/* 기본 여백 완전 제거: p, ul, ol, h1~h6 */
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
dd {
    margin: 0;
    padding: 0;
    list-style: none; /* 리스트 점(bullet)까지 제거하려면 추가 */
}

/* 선택사항: 이미지 하단 미세 간격 제거 */
img {
    vertical-align: middle;
    max-width: 100% !important;
    /* height: auto!important; */
}

/* 선택사항: 링크 기본 밑줄 제거 */
a {
    text-decoration: none;
    color: inherit;
}

ul {
    padding-left: 0;
}
/* ############################################################
   SECTION 00. 기본적인 텍스트 고정 클래스
############################################################
*/

.headline {
    font-size: var(--ft-44);
    font-weight: 700;
    line-height: 130%;
    letter-spacing: -0.02em;
    font-style: normal;
}
.s_title {
    font-size: var(--ft-42);
    font-weight: 700;
    line-height: 130%;
    letter-spacing: -0.02em;
    font-style: normal;
}

.c_title1 {
    font-size: var(--ft-38);
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -0.02em;
    font-style: normal;
}

.c_title2 {
    font-size: var(--ft-34);
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -0.02em;
    font-style: normal;
}

.c_title3 {
    font-size: var(--ft-30);
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -0.02em;
    font-style: normal;
}

.c_title4 {
    font-size: var(--ft-26);
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -0.02em;
    font-style: normal;
}

.tabq {
    font-size: var(--ft-24); /* ← 확인 필요: 아래 letter-spacing과 비율이 안 맞음 */
    font-weight: 700;
    line-height: 120%;
    letter-spacing: -0.44px; /* -2% 비율이면 -4.5px */
    font-style: normal;
}

.body01,
.body01_sb {
    font-size: var(--ft-24);
    line-height: 145%;
    letter-spacing: -0.02em;
    font-style: normal;
}
.body01 {
    font-weight: 400;
}
.body01_sb {
    font-weight: 600;
}

.body02,
.body02_sb {
    font-size: var(--ft-22);
    line-height: 145%;
    letter-spacing: -0.02em;
    font-style: normal;
}
.body02 {
    font-weight: 300;
}
.body02_sb {
    font-weight: 500;
}

.body03,
.body03_sb {
    font-size: var(--ft-20);
    line-height: 145%;
    letter-spacing: -0.02em;
    font-style: normal;
}
.body03 {
    font-weight: 400;
}
.body03_sb {
    font-weight: 600;
}

.body04,
.body04_sb {
    font-size: var(--ft-18);
    line-height: 145%;
    letter-spacing: -0.02em;
    font-style: normal;
}
.body04 {
    font-weight: 400;
}
.body04_sb {
    font-weight: 600;
}

.label {
    font-size: var(--ft-19);
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -0.02em;
    font-style: normal;
}

.bt {
    font-size: var(--ft-18);
    font-weight: 600;
    line-height: 100%;
    letter-spacing: -0.02em;
    font-style: normal;
}

.tag {
    font-size: var(--ft-18);
    font-weight: 500;
    line-height: 150%;
    letter-spacing: -0.02em;
    font-style: normal;
}

.navmain {
    font-size: var(--ft-18);
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -0.02em;
    font-style: normal;
}

.navsub {
    font-size: var(--ft-16);
    font-weight: 400;
    line-height: 120%;
    letter-spacing: -0.02em;
    font-style: normal;
}

.caption {
    font-size: var(--ft-16);
    line-height: 150%;
    letter-spacing: -0.02em;
    font-style: normal;
}

/* ############################################################
   SECTION 01. 타이틀 & 본문 폰트 시스템 (Fluid Typography)
############################################################
*/
/* 타이틀 시스템 (t-fs-*) */
/* --- Typography: Fluid Font Size Utilities (Step 2) --- */

.t-fs-80 {
    font-size: var(--sp-80);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.025em;
}
.t-fs-78 {
    font-size: var(--sp-78);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.025em;
}
.t-fs-76 {
    font-size: var(--sp-76);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.025em;
}
.t-fs-74 {
    font-size: var(--sp-74);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.025em;
}
.t-fs-72 {
    font-size: var(--sp-72);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.025em;
}
.t-fs-70 {
    font-size: var(--sp-70);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.025em;
}
.t-fs-68 {
    font-size: var(--sp-68);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.t-fs-66 {
    font-size: var(--sp-66);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.t-fs-64 {
    font-size: var(--sp-64);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.t-fs-62 {
    font-size: var(--sp-62);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.t-fs-60 {
    font-size: var(--sp-60);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.t-fs-58 {
    font-size: var(--sp-58);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.t-fs-56 {
    font-size: var(--sp-56);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.t-fs-54 {
    font-size: var(--sp-54);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.t-fs-52 {
    font-size: var(--sp-52);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.t-fs-50 {
    font-size: var(--sp-50);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.t-fs-48 {
    font-size: var(--sp-48);
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.015em;
}
.t-fs-46 {
    font-size: var(--sp-46);
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.015em;
}
.t-fs-44 {
    font-size: var(--sp-44);
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.015em;
}
.t-fs-42 {
    font-size: var(--sp-42);
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.015em;
}
.t-fs-40 {
    font-size: var(--sp-40);
    line-height: 1.2;
    font-weight: 700;
}
.t-fs-38 {
    font-size: var(--sp-38);
    line-height: 1.2;
    font-weight: 700;
}
.t-fs-36 {
    font-size: var(--sp-36);
    line-height: 1.3;
    font-weight: 700;
}
.t-fs-34 {
    font-size: var(--sp-34);
    line-height: 1.3;
    font-weight: 700;
}
.t-fs-32 {
    font-size: var(--sp-32);
    line-height: 1.4;
    font-weight: 700;
}
.t-fs-30 {
    font-size: var(--sp-30);
    line-height: 1.4;
    font-weight: 700;
}
.t-fs-28 {
    font-size: var(--sp-28);
    line-height: 1.4;
    font-weight: 700;
}
.t-fs-26 {
    font-size: var(--sp-26);
    line-height: 1.4;
    font-weight: 700;
}
.t-fs-24 {
    font-size: var(--sp-24);
    line-height: 1.4;
    font-weight: 700;
}
.t-fs-22 {
    font-size: var(--sp-22);
    line-height: 1.5;
    font-weight: 700;
}
.t-fs-20 {
    font-size: var(--sp-20);
    line-height: 1.5;
    font-weight: 700;
}
.t-fs-18 {
    font-size: var(--sp-18);
    line-height: 1.5;
    font-weight: 700;
}
.t-fs-16 {
    font-size: var(--sp-16);
    line-height: 1.5;
    font-weight: 700;
}
.t-fs-14 {
    font-size: var(--sp-14);
    line-height: 1.5;
    font-weight: 700;
}
.t-fs-12 {
    font-size: var(--sp-12);
    line-height: 1.5;
    font-weight: 700;
}
.t-fs-10 {
    font-size: var(--sp-10);
    line-height: 1.5;
    font-weight: 700;
}
/* 본문 시스템 (c-fs-*) */
/* 80 ~ 60: Line-height 1.3 (대형 강조 문구) */
.c-fs-80 {
    font-size: var(--sp-80);
    line-height: 1.3;
}
.c-fs-78 {
    font-size: var(--sp-78);
    line-height: 1.3;
}
.c-fs-76 {
    font-size: var(--sp-76);
    line-height: 1.3;
}
.c-fs-74 {
    font-size: var(--sp-74);
    line-height: 1.3;
}
.c-fs-72 {
    font-size: var(--sp-72);
    line-height: 1.3;
}
.c-fs-70 {
    font-size: var(--sp-70);
    line-height: 1.3;
}
.c-fs-68 {
    font-size: var(--sp-68);
    line-height: 1.3;
}
.c-fs-66 {
    font-size: var(--sp-66);
    line-height: 1.3;
}
.c-fs-64 {
    font-size: var(--sp-64);
    line-height: 1.3;
}
.c-fs-62 {
    font-size: var(--sp-62);
    line-height: 1.3;
}
.c-fs-60 {
    font-size: var(--sp-60);
    line-height: 1.3;
}

/* 58 ~ 28: Line-height 1.4 (중형 본문 및 설명) */
.c-fs-58 {
    font-size: var(--sp-58);
    line-height: 1.4;
}
.c-fs-56 {
    font-size: var(--sp-56);
    line-height: 1.4;
}
.c-fs-54 {
    font-size: var(--sp-54);
    line-height: 1.4;
}
.c-fs-52 {
    font-size: var(--sp-52);
    line-height: 1.4;
}
.c-fs-50 {
    font-size: var(--sp-50);
    line-height: 1.4;
}
.c-fs-48 {
    font-size: var(--sp-48);
    line-height: 1.4;
}
.c-fs-46 {
    font-size: var(--sp-46);
    line-height: 1.4;
}
.c-fs-44 {
    font-size: var(--sp-44);
    line-height: 1.4;
}
.c-fs-42 {
    font-size: var(--sp-42);
    line-height: 1.4;
}
.c-fs-40 {
    font-size: var(--sp-40);
    line-height: 1.4;
}
.c-fs-38 {
    font-size: var(--sp-38);
    line-height: 1.4;
}
.c-fs-36 {
    font-size: var(--sp-36);
    line-height: 1.4;
}
.c-fs-34 {
    font-size: var(--sp-34);
    line-height: 1.4;
}
.c-fs-32 {
    font-size: var(--sp-32);
    line-height: 1.4;
}
.c-fs-30 {
    font-size: var(--sp-30);
    line-height: 1.4;
}
.c-fs-28 {
    font-size: var(--sp-28);
    line-height: 1.4;
}

/* 26 ~ 20: Line-height 1.5 (일반 본문 표준) */
.c-fs-26 {
    font-size: var(--sp-26);
    line-height: 1.5;
}
.c-fs-24 {
    font-size: var(--sp-24);
    line-height: 1.5;
}
.c-fs-22 {
    font-size: var(--sp-22);
    line-height: 1.5;
}
.c-fs-20 {
    font-size: var(--sp-20);
    line-height: 1.5;
}

/* 18 ~ 6: Line-height 1.6 (작은 글씨 가독성 확보) */
.c-fs-18 {
    font-size: var(--sp-18);
    line-height: 1.6;
}
.c-fs-16 {
    font-size: var(--sp-16);
    line-height: 1.6;
}
.c-fs-14 {
    font-size: var(--sp-14);
    line-height: 1.6;
}
.c-fs-12 {
    font-size: var(--sp-12);
    line-height: 1.6;
}
.c-fs-10 {
    font-size: var(--sp-10);
    line-height: 1.6;
}
.c-fs-8 {
    font-size: var(--sp-8);
    line-height: 1.6;
}
.c-fs-6 {
    font-size: var(--sp-6);
    line-height: 1.6;
}
.c-fs-4 {
    font-size: var(--sp-4);
    line-height: 1.6;
}

/* ############################################################
   SECTION 02. 텍스트 유틸리티 (Weight, Line-height, Helper)
############################################################
*/

/* 폰트 두께 */
.fw-100 {
    font-weight: 100;
}
.fw-200 {
    font-weight: 200;
}
.fw-300 {
    font-weight: 300;
}
.fw-400 {
    font-weight: 400;
}
.fw-500 {
    font-weight: 500;
}
.fw-600 {
    font-weight: 600;
}
.fw-700,
.fw-800,
.fw-900,
.fw-bold {
    font-weight: 700;
}

/* 줄간격 (Line-height) */
.u-lh-1 {
    line-height: var(--lh-1);
}
.u-lh-105 {
    line-height: var(--lh-105);
}
.u-lh-11 {
    line-height: var(--lh-11);
}
.u-lh-115 {
    line-height: var(--lh-115);
}
.u-lh-12 {
    line-height: var(--lh-12);
}
.u-lh-125 {
    line-height: var(--lh-125) !important;
}
.u-lh-13 {
    line-height: var(--lh-13);
}
.u-lh-135 {
    line-height: var(--lh-135);
}
.u-lh-14 {
    line-height: var(--lh-14);
}
.u-lh-145 {
    line-height: var(--lh-145);
}
.u-lh-15 {
    line-height: var(--lh-15);
}
.u-lh-155 {
    line-height: var(--lh-155);
}
.u-lh-16 {
    line-height: var(--lh-16);
}
.u-lh-165 {
    line-height: var(--lh-165);
}
.u-lh-17 {
    line-height: var(--lh-17);
}
.u-lh-175 {
    line-height: var(--lh-175);
}
.u-lh-18 {
    line-height: var(--lh-18);
}
.u-lh-185 {
    line-height: var(--lh-185);
}
.u-lh-19 {
    line-height: var(--lh-19);
}
.u-lh-195 {
    line-height: var(--lh-195);
}
.u-lh-2 {
    line-height: var(--lh-2);
}

.u-ls-05 {
    letter-spacing: var(--ls-05);
} /* 미세 자간 (본문용) */
.u-ls-10 {
    letter-spacing: var(--ls-10);
} /* 표준 자간 (소제목/메뉴) */
.u-ls-15 {
    letter-spacing: var(--ls-15);
} /* 강한 자간 (중간 제목) */
.u-ls-20 {
    letter-spacing: var(--ls-20);
} /* 강조 자간 (메인 슬로건) */
.u-ls-25 {
    letter-spacing: var(--ls-25);
} /* 초강조 자간 (대형 배너) */

.u-ls-0 {
    letter-spacing: 0;
}

.u-ls-p10 {
    letter-spacing: var(--ls-p-10);
}

/* 텍스트 헬퍼 */
.keep-all {
    word-break: keep-all;
    overflow-wrap: break-word;
}
.dot-dot {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dot-dot-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.dot-dot-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.min-w-0 {
    min-width: 0;
}
.w-nowrap {
    white-space: nowrap;
}

.w-100 {
    width: 100%;
}

/* ############################################################
   SECTION 03. 컬러 및 배경 유틸리티 (u-*)
############################################################
*/
/* ==========================================================================
   1. 텍스트 컬러 (u-txt-*)
   ========================================================================== */

/* 1-1. 브랜드 / 포인트 */
.u-txt-main {
    color: var(--main-color);
}
.u-txt-sub {
    color: var(--sub-color);
}
.u-txt-sub2 {
    color: var(--sub-color2);
}
.u-txt-light {
    color: var(--light);
}
.u-txt-light2 {
    color: var(--light2);
}
.u-txt-white {
    color: #ffffff;
}
.u-txt-dark {
    color: var(--dark);
}
.u-txt-point {
    color: var(--point);
}
.u-txt-black {
    color: var(--black);
}
.u-txt-point2 {
    color: var(--point2);
}
.u-txt-bg {
    color: var(--bg);
}

/* 1-2. SNS */
.u-txt-naver {
    color: var(--naver);
}
.u-txt-kakao {
    color: var(--kakao);
}
.u-txt-youtube {
    color: var(--youtube);
}
.u-txt-insta {
    color: var(--insta);
}

/* 1-3. Gray (g0~g900) */
.u-txt-g0 {
    color: var(--gray-0);
}
.u-txt-g50 {
    color: var(--gray-50);
}
.u-txt-g100 {
    color: var(--gray-100);
}
.u-txt-g200 {
    color: var(--gray-200);
}
.u-txt-g300 {
    color: var(--gray-300);
}
.u-txt-g400 {
    color: var(--gray-400);
}
.u-txt-g500 {
    color: var(--gray-500);
}
.u-txt-g600 {
    color: var(--gray-600);
}
.u-txt-g700 {
    color: var(--gray-700);
}
.u-txt-g800 {
    color: var(--gray-800);
}
.u-txt-g900 {
    color: var(--gray-900);
}

/* 1-4. Neutral (n0~n900) */
.u-txt-n0 {
    color: var(--neutral-0);
}
.u-txt-n50 {
    color: var(--neutral-50);
}
.u-txt-n100 {
    color: var(--neutral-100);
}
.u-txt-n200 {
    color: var(--neutral-200);
}
.u-txt-n300 {
    color: var(--neutral-300);
}
.u-txt-n400 {
    color: var(--neutral-400);
}
.u-txt-n500 {
    color: var(--neutral-500);
}
.u-txt-n600 {
    color: var(--neutral-600);
}
.u-txt-n700 {
    color: var(--neutral-700);
}
.u-txt-n800 {
    color: var(--neutral-800);
}
.u-txt-n900 {
    color: var(--neutral-900);
}

/* ==========================================================================
   2. 배경 컬러 (u-bg-*)
   ========================================================================== */

/* 2-1. 브랜드 / 포인트 */
.u-bg-main {
    background-color: var(--main-color);
}
.u-bg-sub {
    background-color: var(--sub-color);
}
.u-bg-white {
    background-color: #ffffff;
}
.u-bg-black {
    background-color: #000000;
}
.u-bg-dark {
    background-color: var(--dark);
}
.u-bg-light {
    background-color: var(--light);
}
.u-bg-light2 {
    background-color: var(--light2);
}
.u-bg-point {
    background-color: var(--point);
}
.u-bg-point2 {
    background-color: var(--point2);
}
.u-bg-bg {
    background-color: var(--bg);
}
.u-bg-transparent {
    background-color: transparent;
}
.u-bg-none {
    background-color: transparent;
}

/* 2-2. SNS */
.u-bg-naver {
    background-color: var(--naver);
}
.u-bg-kakao {
    background-color: var(--kakao);
}
.u-bg-youtube {
    background-color: var(--youtube);
}
.u-bg-insta {
    background-color: var(--insta);
}

/* 2-3. Gray (g0~g900) */
.u-bg-g0 {
    background-color: var(--gray-0);
}
.u-bg-g50 {
    background-color: var(--gray-50);
}
.u-bg-g100 {
    background-color: var(--gray-100);
}
.u-bg-g200 {
    background-color: var(--gray-200);
}
.u-bg-g300 {
    background-color: var(--gray-300);
}
.u-bg-g400 {
    background-color: var(--gray-400);
}
.u-bg-g500 {
    background-color: var(--gray-500);
}
.u-bg-g600 {
    background-color: var(--gray-600);
}
.u-bg-g700 {
    background-color: var(--gray-700);
}
.u-bg-g800 {
    background-color: var(--gray-800);
}
.u-bg-g900 {
    background-color: var(--gray-900);
}

/* 2-4. Neutral (n0~n900) */
.u-bg-n0 {
    background-color: var(--neutral-0);
}
.u-bg-n50 {
    background-color: var(--neutral-50);
}
.u-bg-n100 {
    background-color: var(--neutral-100);
}
.u-bg-n200 {
    background-color: var(--neutral-200);
}
.u-bg-n300 {
    background-color: var(--neutral-300);
}
.u-bg-n400 {
    background-color: var(--neutral-400);
}
.u-bg-n500 {
    background-color: var(--neutral-500);
}
.u-bg-n600 {
    background-color: var(--neutral-600);
}
.u-bg-n700 {
    background-color: var(--neutral-700);
}
.u-bg-n800 {
    background-color: var(--neutral-800);
}
.u-bg-n900 {
    background-color: var(--neutral-900);
}

/* ==========================================================================
   3. 보더 컬러 (u-bc-*)
   ========================================================================== */

/* 3-1. 브랜드 / 포인트 */
.u-bc-main {
    border-color: var(--main-color) !important;
}
.u-bc-sub {
    border-color: var(--sub-color) !important;
}
.u-bc-white {
    border-color: #ffffff !important;
}
.u-bc-black {
    border-color: #000000 !important;
}
.u-bc-dark {
    border-color: var(--dark) !important;
}
.u-bc-point {
    border-color: var(--point) !important;
}
.u-bc-point2 {
    border-color: var(--point2) !important;
}
.u-bc-light {
    border-color: var(--light) !important;
}
.u-bc-light2 {
    border-color: var(--light2) !important;
}
.u-bc-line {
    border-color: var(--line) !important;
}

/* 3-2. SNS */
.u-bc-naver {
    border-color: var(--naver);
}
.u-bc-kakao {
    border-color: var(--kakao);
}
.u-bc-youtube {
    border-color: var(--youtube);
}
.u-bc-insta {
    border-color: var(--insta);
}

/* 3-3. Gray (g0~g900) */
.u-bc-g0 {
    border-color: var(--gray-0);
}
.u-bc-g50 {
    border-color: var(--gray-50);
}
.u-bc-g100 {
    border-color: var(--gray-100);
}
.u-bc-g200 {
    border-color: var(--gray-200);
}
.u-bc-g300 {
    border-color: var(--gray-300);
}
.u-bc-g400 {
    border-color: var(--gray-400);
}
.u-bc-g500 {
    border-color: var(--gray-500);
}
.u-bc-g600 {
    border-color: var(--gray-600);
}
.u-bc-g700 {
    border-color: var(--gray-700);
}
.u-bc-g800 {
    border-color: var(--gray-800);
}
.u-bc-g900 {
    border-color: var(--gray-900);
}

/* 3-4. Neutral (n0~n900) */
.u-bc-n0 {
    border-color: var(--neutral-0);
}
.u-bc-n50 {
    border-color: var(--neutral-50);
}
.u-bc-n100 {
    border-color: var(--neutral-100);
}
.u-bc-n200 {
    border-color: var(--neutral-200);
}
.u-bc-n300 {
    border-color: var(--neutral-300);
}
.u-bc-n400 {
    border-color: var(--neutral-400);
}
.u-bc-n500 {
    border-color: var(--neutral-500);
}
.u-bc-n600 {
    border-color: var(--neutral-600);
}
.u-bc-n700 {
    border-color: var(--neutral-700);
}
.u-bc-n800 {
    border-color: var(--neutral-800);
}
.u-bc-n900 {
    border-color: var(--neutral-900);
}

/* ############################################################
   SECTION 04. 레이아웃 & 그리드 시스템
############################################################
*/

.flex-1 {
    flex: 1;
}
.flex-50 {
    flex: 0 0 50%;
}
.flex-33 {
    flex: 0 0 33%;
}
.flex-25 {
    flex: 0 0 25%;
}
.flex-125 {
    flex: 0 0 12.5%;
}

.d-grid {
    display: grid;
}

/* 고정 컬럼 */
.g-cols-1 {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
}
.g-cols-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}
.g-cols-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.g-cols-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.g-auto-flow {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
}

/* 스마트 컬럼 (반응형 자동) */

/* -----------------------------------------------------------
   [MODE 1] G-COLS-FIT (빈 공간 없이 꽉 채우는 유연한 타입)
   - 아이템이 적으면 스스로 넓어져서 화면을 채웁니다. (게시판/카드형)
----------------------------------------------------------- */

[class*='g-cols-fit-'] {
    display: grid;
    --g-flex: 100%; /* 기본은 한 줄에 1개 (100%) */
}

.g-cols-fit-1 {
    grid-template-columns: repeat(auto-fit, minmax(min(var(--g-flex), 100%), 1fr));
}
.g-cols-fit-2 {
    grid-template-columns: repeat(auto-fit, minmax(min(var(--g-flex), 900px), 1fr));
}
.g-cols-fit-3 {
    grid-template-columns: repeat(auto-fit, minmax(min(var(--g-flex), 600px), 1fr));
}
.g-cols-fit-4 {
    grid-template-columns: repeat(auto-fit, minmax(min(var(--g-flex), 450px), 1fr));
}
.g-cols-fit-5 {
    grid-template-columns: repeat(auto-fit, minmax(min(var(--g-flex), 350px), 1fr));
}
.g-cols-fit-6 {
    grid-template-columns: repeat(auto-fit, minmax(min(var(--g-flex), 300px), 1fr));
}
.g-cols-fit-7 {
    grid-template-columns: repeat(auto-fit, minmax(min(var(--g-flex), 250px), 1fr));
}
.g-cols-fit-8 {
    grid-template-columns: repeat(auto-fit, minmax(min(var(--g-flex), 220px), 1fr));
}
.g-cols-fit-9 {
    grid-template-columns: repeat(auto-fit, minmax(min(var(--g-flex), 200px), 1fr));
}
.g-cols-fit-10 {
    grid-template-columns: repeat(auto-fit, minmax(min(var(--g-flex), 180px), 1fr));
}
.g-cols-fit-11 {
    grid-template-columns: repeat(auto-fit, minmax(min(var(--g-flex), 160px), 1fr));
}
.g-cols-fit-12 {
    grid-template-columns: repeat(auto-fit, minmax(min(var(--g-flex), 150px), 1fr));
}

.g-flexible-1 {
    --g-flex: 100%;
}

.g-flexible-2 {
    --g-flex: 50%;
}
.g-flexible-3 {
    --g-flex: 33.33%;
}
.g-flexible-4 {
    --g-flex: 25%;
}

/* -----------------------------------------------------------
   [MODE 2] G-COLS-FILL (일정한 크기를 유지하는 고정형 타입)
   - 아이템이 적어도 빈 칸을 유지하며, 개별 아이템이 너무 커지지 않습니다.
----------------------------------------------------------- */

.g-cols-fill-1 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
}
.g-cols-fill-2 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(900px, 1fr));
}
.g-cols-fill-3 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(600px, 1fr));
}
.g-cols-fill-4 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(450px, 1fr));
}
.g-cols-fill-5 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
}
.g-cols-fill-6 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
.g-cols-fill-7 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}
.g-cols-fill-8 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.g-cols-fill-9 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}
.g-cols-fill-10 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}
.g-cols-fill-11 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}
.g-cols-fill-12 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}

/* [그리드 전체 정렬 - 부모용] */

/* 1. 상하좌우 정중앙 (가장 많이 씀) */
.g-center {
    display: grid;
    place-items: center;
}

/* 2. 상하좌우 꽉 채우기 (기본값이나 명시적 선언 필요할 때) */
.g-full {
    display: grid;
    place-items: stretch;
}

/* 3. 세로만 중앙 (가로축은 stretch) */
.g-v-center {
    display: grid;
    align-items: center;
}

/* 4. 가로만 중앙 (세로축은 stretch) */
.g-h-center {
    display: grid;
    justify-items: center;
}

/* [그리드 개별 정렬 - 자식용] */

/* 1. 나 혼자 가로세로 정중앙 */
.g-self-center {
    place-self: center;
}

/* 2. 나 혼자 우측 하단 끝으로 */
.g-self-end {
    place-self: end;
}

.g-self-start {
    place-self: start;
}

/* 3. 나 혼자 세로만 하단 (가로는 유지) */
.g-self-v-end {
    align-self: end;
}

/* 간격 (Fluid Gap) — 0~150, 2단위 */

.u-gap-0 {
    gap: 0;
}
.u-gap-2 {
    gap: 2px;
}
.u-gap-4 {
    gap: clamp(0.1875rem, 0.05vw + 0.15rem, 0.25rem);
}
.u-gap-6 {
    gap: clamp(0.28rem, 0.075vw + 0.22rem, 0.375rem);
}
.u-gap-8 {
    gap: clamp(0.375rem, 0.1vw + 0.3rem, 0.5rem);
}
.u-gap-10 {
    gap: clamp(0.4375rem, 0.15vw + 0.35rem, 0.625rem);
}
.u-gap-12 {
    gap: clamp(0.5rem, 0.2vw + 0.4rem, 0.75rem);
}
.u-gap-14 {
    gap: clamp(0.625rem, 0.25vw + 0.5rem, 0.875rem);
}
.u-gap-16 {
    gap: clamp(0.75rem, 0.3vw + 0.6rem, 1rem);
}
.u-gap-18 {
    gap: clamp(0.8125rem, 0.35vw + 0.65rem, 1.125rem);
}
.u-gap-20 {
    gap: clamp(0.875rem, 0.4vw + 0.7rem, 1.25rem);
}
.u-gap-22 {
    gap: clamp(0.9375rem, 0.45vw + 0.75rem, 1.375rem);
}
.u-gap-24 {
    gap: clamp(1rem, 0.5vw + 0.8rem, 1.5rem);
}
.u-gap-26 {
    gap: clamp(1.125rem, 0.55vw + 0.85rem, 1.625rem);
}
.u-gap-28 {
    gap: clamp(1.25rem, 0.6vw + 0.9rem, 1.75rem);
}
.u-gap-30 {
    gap: var(--sp-30);
}
.u-gap-32 {
    gap: clamp(1.5rem, 0.7vw + 1rem, 2rem);
}
.u-gap-34 {
    gap: clamp(1.625rem, 0.75vw + 1.05rem, 2.125rem);
}
.u-gap-36 {
    gap: clamp(1.75rem, 0.8vw + 1.1rem, 2.25rem);
}
.u-gap-38 {
    gap: clamp(1.875rem, 0.9vw + 1.15rem, 2.375rem);
}
.u-gap-40 {
    gap: clamp(2rem, 1vw + 1.2rem, 2.5rem);
}
.u-gap-42 {
    gap: var(--sp-42);
}
.u-gap-44 {
    gap: var(--sp-44);
}
.u-gap-46 {
    gap: var(--sp-46);
}
.u-gap-48 {
    gap: var(--sp-48);
}
.u-gap-50 {
    gap: var(--sp-50);
}
.u-gap-52 {
    gap: var(--sp-52);
}
.u-gap-54 {
    gap: var(--sp-54);
}
.u-gap-56 {
    gap: var(--sp-56);
}
.u-gap-58 {
    gap: var(--sp-58);
}
.u-gap-60 {
    gap: var(--sp-60);
}
.u-gap-62 {
    gap: var(--sp-62);
}
.u-gap-64 {
    gap: var(--sp-64);
}
.u-gap-66 {
    gap: var(--sp-66);
}
.u-gap-68 {
    gap: var(--sp-68);
}
.u-gap-70 {
    gap: var(--sp-70);
}
.u-gap-72 {
    gap: var(--sp-72);
}
.u-gap-74 {
    gap: var(--sp-74);
}
.u-gap-76 {
    gap: var(--sp-76);
}
.u-gap-78 {
    gap: var(--sp-78);
}
.u-gap-80 {
    gap: var(--sp-80);
}

/* 1. 가로 간격 전용 (Column Gap) */
.u-cgap-0 {
    column-gap: 0;
}
.u-cgap-4 {
    column-gap: clamp(0.1875rem, 0.05vw + 0.15rem, 0.25rem);
}
.u-cgap-8 {
    column-gap: clamp(0.375rem, 0.1vw + 0.3rem, 0.5rem);
}
.u-cgap-10 {
    column-gap: clamp(0.4375rem, 0.15vw + 0.35rem, 0.625rem);
}
.u-cgap-12 {
    column-gap: clamp(0.5rem, 0.2vw + 0.4rem, 0.75rem);
}
.u-cgap-16 {
    column-gap: clamp(0.75rem, 0.3vw + 0.6rem, 1rem);
}

/* 2. 세로 간격 전용 (Row Gap) */
.u-rgap-0 {
    row-gap: 0;
}
.u-rgap-4 {
    row-gap: clamp(0.1875rem, 0.05vw + 0.15rem, 0.25rem);
}
.u-rgap-8 {
    row-gap: clamp(0.375rem, 0.1vw + 0.3rem, 0.5rem);
}
.u-rgap-10 {
    row-gap: clamp(0.4375rem, 0.15vw + 0.35rem, 0.625rem);
}
.u-rgap-12 {
    row-gap: clamp(0.5rem, 0.2vw + 0.4rem, 0.75rem);
}
.u-rgap-16 {
    row-gap: clamp(0.75rem, 0.3vw + 0.6rem, 1rem);
}

/* ============================================ 
   Padding System (4 - 80)
   ============================================ */

.u-p-4 {
    padding: var(--sp-4);
}
.u-px-4 {
    padding-left: var(--sp-4);
    padding-right: var(--sp-4);
}
.u-py-4 {
    padding-top: var(--sp-4);
    padding-bottom: var(--sp-4);
}
.u-pt-4 {
    padding-top: var(--sp-4);
}
.u-pb-4 {
    padding-bottom: var(--sp-4);
}
.u-pl-4 {
    padding-left: var(--sp-4);
}
.u-pr-4 {
    padding-right: var(--sp-4);
}
.u-p-6 {
    padding: var(--sp-6);
}
.u-px-6 {
    padding-left: var(--sp-6);
    padding-right: var(--sp-6);
}
.u-py-6 {
    padding-top: var(--sp-6);
    padding-bottom: var(--sp-6);
}
.u-pt-6 {
    padding-top: var(--sp-6);
}
.u-pb-6 {
    padding-bottom: var(--sp-6);
}
.u-pl-6 {
    padding-left: var(--sp-6);
}
.u-pr-6 {
    padding-right: var(--sp-6);
}
.u-p-8 {
    padding: var(--sp-8);
}
.u-px-8 {
    padding-left: var(--sp-8);
    padding-right: var(--sp-8);
}
.u-py-8 {
    padding-top: var(--sp-8);
    padding-bottom: var(--sp-8);
}
.u-pt-8 {
    padding-top: var(--sp-8);
}
.u-pb-8 {
    padding-bottom: var(--sp-8);
}
.u-pl-8 {
    padding-left: var(--sp-8);
}
.u-pr-8 {
    padding-right: var(--sp-8);
}
.u-p-10 {
    padding: var(--sp-10);
}
.u-px-10 {
    padding-left: var(--sp-10);
    padding-right: var(--sp-10);
}
.u-py-10 {
    padding-top: var(--sp-10);
    padding-bottom: var(--sp-10);
}
.u-pt-10 {
    padding-top: var(--sp-10);
}
.u-pb-10 {
    padding-bottom: var(--sp-10);
}
.u-pl-10 {
    padding-left: var(--sp-10);
}
.u-pr-10 {
    padding-right: var(--sp-10);
}
.u-p-12 {
    padding: var(--sp-12);
}
.u-px-12 {
    padding-left: var(--sp-12);
    padding-right: var(--sp-12);
}
.u-py-12 {
    padding-top: var(--sp-12);
    padding-bottom: var(--sp-12);
}
.u-pt-12 {
    padding-top: var(--sp-12);
}
.u-pb-12 {
    padding-bottom: var(--sp-12);
}
.u-pl-12 {
    padding-left: var(--sp-12);
}
.u-pr-12 {
    padding-right: var(--sp-12);
}
.u-p-14 {
    padding: var(--sp-14);
}
.u-px-14 {
    padding-left: var(--sp-14);
    padding-right: var(--sp-14);
}
.u-py-14 {
    padding-top: var(--sp-14);
    padding-bottom: var(--sp-14);
}
.u-pt-14 {
    padding-top: var(--sp-14);
}
.u-pb-14 {
    padding-bottom: var(--sp-14);
}
.u-pl-14 {
    padding-left: var(--sp-14);
}
.u-pr-14 {
    padding-right: var(--sp-14);
}
.u-p-16 {
    padding: var(--sp-16);
}
.u-px-16 {
    padding-left: var(--sp-16);
    padding-right: var(--sp-16);
}
.u-py-16 {
    padding-top: var(--sp-16);
    padding-bottom: var(--sp-16);
}
.u-pt-16 {
    padding-top: var(--sp-16);
}
.u-pb-16 {
    padding-bottom: var(--sp-16);
}
.u-pl-16 {
    padding-left: var(--sp-16);
}
.u-pr-16 {
    padding-right: var(--sp-16);
}
.u-p-18 {
    padding: var(--sp-18);
}
.u-px-18 {
    padding-left: var(--sp-18);
    padding-right: var(--sp-18);
}
.u-py-18 {
    padding-top: var(--sp-18);
    padding-bottom: var(--sp-18);
}
.u-pt-18 {
    padding-top: var(--sp-18);
}
.u-pb-18 {
    padding-bottom: var(--sp-18);
}
.u-pl-18 {
    padding-left: var(--sp-18);
}
.u-pr-18 {
    padding-right: var(--sp-18);
}
.u-p-20 {
    padding: var(--sp-20);
}
.u-px-20 {
    padding-left: var(--sp-20);
    padding-right: var(--sp-20);
}
.u-py-20 {
    padding-top: var(--sp-20);
    padding-bottom: var(--sp-20);
}
.u-pt-20 {
    padding-top: var(--sp-20);
}
.u-pb-20 {
    padding-bottom: var(--sp-20);
}
.u-pl-20 {
    padding-left: var(--sp-20);
}
.u-pr-20 {
    padding-right: var(--sp-20);
}
.u-p-22 {
    padding: var(--sp-22);
}
.u-px-22 {
    padding-left: var(--sp-22);
    padding-right: var(--sp-22);
}
.u-py-22 {
    padding-top: var(--sp-22);
    padding-bottom: var(--sp-22);
}
.u-pt-22 {
    padding-top: var(--sp-22);
}
.u-pb-22 {
    padding-bottom: var(--sp-22);
}
.u-pl-22 {
    padding-left: var(--sp-22);
}
.u-pr-22 {
    padding-right: var(--sp-22);
}
.u-p-24 {
    padding: var(--sp-24);
}
.u-px-24 {
    padding-left: var(--sp-24);
    padding-right: var(--sp-24);
}
.u-py-24 {
    padding-top: var(--sp-24);
    padding-bottom: var(--sp-24);
}
.u-pt-24 {
    padding-top: var(--sp-24);
}
.u-pb-24 {
    padding-bottom: var(--sp-24);
}
.u-pl-24 {
    padding-left: var(--sp-24);
}
.u-pr-24 {
    padding-right: var(--sp-24);
}
.u-p-26 {
    padding: var(--sp-26);
}
.u-px-26 {
    padding-left: var(--sp-26);
    padding-right: var(--sp-26);
}
.u-py-26 {
    padding-top: var(--sp-26);
    padding-bottom: var(--sp-26);
}
.u-pt-26 {
    padding-top: var(--sp-26);
}
.u-pb-26 {
    padding-bottom: var(--sp-26);
}
.u-pl-26 {
    padding-left: var(--sp-26);
}
.u-pr-26 {
    padding-right: var(--sp-26);
}
.u-p-28 {
    padding: var(--sp-28);
}
.u-px-28 {
    padding-left: var(--sp-28);
    padding-right: var(--sp-28);
}
.u-py-28 {
    padding-top: var(--sp-28);
    padding-bottom: var(--sp-28);
}
.u-pt-28 {
    padding-top: var(--sp-28);
}
.u-pb-28 {
    padding-bottom: var(--sp-28);
}
.u-pl-28 {
    padding-left: var(--sp-28);
}
.u-pr-28 {
    padding-right: var(--sp-28);
}
.u-p-30 {
    padding: var(--sp-30);
}
.u-px-30 {
    padding-left: var(--sp-30);
    padding-right: var(--sp-30);
}
.u-py-30 {
    padding-top: var(--sp-30);
    padding-bottom: var(--sp-30);
}
.u-pt-30 {
    padding-top: var(--sp-30);
}
.u-pb-30 {
    padding-bottom: var(--sp-30);
}
.u-pl-30 {
    padding-left: var(--sp-30);
}
.u-pr-30 {
    padding-right: var(--sp-30);
}
.u-p-32 {
    padding: var(--sp-32);
}
.u-px-32 {
    padding-left: var(--sp-32);
    padding-right: var(--sp-32);
}
.u-py-32 {
    padding-top: var(--sp-32);
    padding-bottom: var(--sp-32);
}
.u-pt-32 {
    padding-top: var(--sp-32);
}
.u-pb-32 {
    padding-bottom: var(--sp-32);
}
.u-pl-32 {
    padding-left: var(--sp-32);
}
.u-pr-32 {
    padding-right: var(--sp-32);
}
.u-p-34 {
    padding: var(--sp-34);
}
.u-px-34 {
    padding-left: var(--sp-34);
    padding-right: var(--sp-34);
}
.u-py-34 {
    padding-top: var(--sp-34);
    padding-bottom: var(--sp-34);
}
.u-pt-34 {
    padding-top: var(--sp-34);
}
.u-pb-34 {
    padding-bottom: var(--sp-34);
}
.u-pl-34 {
    padding-left: var(--sp-34);
}
.u-pr-34 {
    padding-right: var(--sp-34);
}
.u-p-36 {
    padding: var(--sp-36);
}
.u-px-36 {
    padding-left: var(--sp-36);
    padding-right: var(--sp-36);
}
.u-py-36 {
    padding-top: var(--sp-36);
    padding-bottom: var(--sp-36);
}
.u-pt-36 {
    padding-top: var(--sp-36);
}
.u-pb-36 {
    padding-bottom: var(--sp-36);
}
.u-pl-36 {
    padding-left: var(--sp-36);
}
.u-pr-36 {
    padding-right: var(--sp-36);
}
.u-p-38 {
    padding: var(--sp-38);
}
.u-px-38 {
    padding-left: var(--sp-38);
    padding-right: var(--sp-38);
}
.u-py-38 {
    padding-top: var(--sp-38);
    padding-bottom: var(--sp-38);
}
.u-pt-38 {
    padding-top: var(--sp-38);
}
.u-pb-38 {
    padding-bottom: var(--sp-38);
}
.u-pl-38 {
    padding-left: var(--sp-38);
}
.u-pr-38 {
    padding-right: var(--sp-38);
}
.u-p-40 {
    padding: var(--sp-40);
}
.u-px-40 {
    padding-left: var(--sp-40);
    padding-right: var(--sp-40);
}
.u-py-40 {
    padding-top: var(--sp-40);
    padding-bottom: var(--sp-40);
}
.u-pt-40 {
    padding-top: var(--sp-40);
}
.u-pb-40 {
    padding-bottom: var(--sp-40);
}
.u-pl-40 {
    padding-left: var(--sp-40);
}
.u-pr-40 {
    padding-right: var(--sp-40);
}
.u-p-42 {
    padding: var(--sp-42);
}
.u-px-42 {
    padding-left: var(--sp-42);
    padding-right: var(--sp-42);
}
.u-py-42 {
    padding-top: var(--sp-42);
    padding-bottom: var(--sp-42);
}
.u-pt-42 {
    padding-top: var(--sp-42);
}
.u-pb-42 {
    padding-bottom: var(--sp-42);
}
.u-pl-42 {
    padding-left: var(--sp-42);
}
.u-pr-42 {
    padding-right: var(--sp-42);
}
.u-p-44 {
    padding: var(--sp-44);
}
.u-px-44 {
    padding-left: var(--sp-44);
    padding-right: var(--sp-44);
}
.u-py-44 {
    padding-top: var(--sp-44);
    padding-bottom: var(--sp-44);
}
.u-pt-44 {
    padding-top: var(--sp-44);
}
.u-pb-44 {
    padding-bottom: var(--sp-44);
}
.u-pl-44 {
    padding-left: var(--sp-44);
}
.u-pr-44 {
    padding-right: var(--sp-44);
}
.u-p-46 {
    padding: var(--sp-46);
}
.u-px-46 {
    padding-left: var(--sp-46);
    padding-right: var(--sp-46);
}
.u-py-46 {
    padding-top: var(--sp-46);
    padding-bottom: var(--sp-46);
}
.u-pt-46 {
    padding-top: var(--sp-46);
}
.u-pb-46 {
    padding-bottom: var(--sp-46);
}
.u-pl-46 {
    padding-left: var(--sp-46);
}
.u-pr-46 {
    padding-right: var(--sp-46);
}
.u-p-48 {
    padding: var(--sp-48);
}
.u-px-48 {
    padding-left: var(--sp-48);
    padding-right: var(--sp-48);
}
.u-py-48 {
    padding-top: var(--sp-48);
    padding-bottom: var(--sp-48);
}
.u-pt-48 {
    padding-top: var(--sp-48);
}
.u-pb-48 {
    padding-bottom: var(--sp-48);
}
.u-pl-48 {
    padding-left: var(--sp-48);
}
.u-pr-48 {
    padding-right: var(--sp-48);
}
.u-p-50 {
    padding: var(--sp-50);
}
.u-px-50 {
    padding-left: var(--sp-50);
    padding-right: var(--sp-50);
}
.u-py-50 {
    padding-top: var(--sp-50);
    padding-bottom: var(--sp-50);
}
.u-pt-50 {
    padding-top: var(--sp-50);
}
.u-pb-50 {
    padding-bottom: var(--sp-50);
}
.u-pl-50 {
    padding-left: var(--sp-50);
}
.u-pr-50 {
    padding-right: var(--sp-50);
}
.u-p-52 {
    padding: var(--sp-52);
}
.u-px-52 {
    padding-left: var(--sp-52);
    padding-right: var(--sp-52);
}
.u-py-52 {
    padding-top: var(--sp-52);
    padding-bottom: var(--sp-52);
}
.u-pt-52 {
    padding-top: var(--sp-52);
}
.u-pb-52 {
    padding-bottom: var(--sp-52);
}
.u-pl-52 {
    padding-left: var(--sp-52);
}
.u-pr-52 {
    padding-right: var(--sp-52);
}
.u-p-54 {
    padding: var(--sp-54);
}
.u-px-54 {
    padding-left: var(--sp-54);
    padding-right: var(--sp-54);
}
.u-py-54 {
    padding-top: var(--sp-54);
    padding-bottom: var(--sp-54);
}
.u-pt-54 {
    padding-top: var(--sp-54);
}
.u-pb-54 {
    padding-bottom: var(--sp-54);
}
.u-pl-54 {
    padding-left: var(--sp-54);
}
.u-pr-54 {
    padding-right: var(--sp-54);
}
.u-p-56 {
    padding: var(--sp-56);
}
.u-px-56 {
    padding-left: var(--sp-56);
    padding-right: var(--sp-56);
}
.u-py-56 {
    padding-top: var(--sp-56);
    padding-bottom: var(--sp-56);
}
.u-pt-56 {
    padding-top: var(--sp-56);
}
.u-pb-56 {
    padding-bottom: var(--sp-56);
}
.u-pl-56 {
    padding-left: var(--sp-56);
}
.u-pr-56 {
    padding-right: var(--sp-56);
}
.u-p-58 {
    padding: var(--sp-58);
}
.u-px-58 {
    padding-left: var(--sp-58);
    padding-right: var(--sp-58);
}
.u-py-58 {
    padding-top: var(--sp-58);
    padding-bottom: var(--sp-58);
}
.u-pt-58 {
    padding-top: var(--sp-58);
}
.u-pb-58 {
    padding-bottom: var(--sp-58);
}
.u-pl-58 {
    padding-left: var(--sp-58);
}
.u-pr-58 {
    padding-right: var(--sp-58);
}
.u-p-60 {
    padding: var(--sp-60);
}
.u-px-60 {
    padding-left: var(--sp-60);
    padding-right: var(--sp-60);
}
.u-py-60 {
    padding-top: var(--sp-60);
    padding-bottom: var(--sp-60);
}
.u-pt-60 {
    padding-top: var(--sp-60);
}
.u-pb-60 {
    padding-bottom: var(--sp-60);
}
.u-pl-60 {
    padding-left: var(--sp-60);
}
.u-pr-60 {
    padding-right: var(--sp-60);
}
.u-p-62 {
    padding: var(--sp-62);
}
.u-px-62 {
    padding-left: var(--sp-62);
    padding-right: var(--sp-62);
}
.u-py-62 {
    padding-top: var(--sp-62);
    padding-bottom: var(--sp-62);
}
.u-pt-62 {
    padding-top: var(--sp-62);
}
.u-pb-62 {
    padding-bottom: var(--sp-62);
}
.u-pl-62 {
    padding-left: var(--sp-62);
}
.u-pr-62 {
    padding-right: var(--sp-62);
}
.u-p-64 {
    padding: var(--sp-64);
}
.u-px-64 {
    padding-left: var(--sp-64);
    padding-right: var(--sp-64);
}
.u-py-64 {
    padding-top: var(--sp-64);
    padding-bottom: var(--sp-64);
}
.u-pt-64 {
    padding-top: var(--sp-64);
}
.u-pb-64 {
    padding-bottom: var(--sp-64);
}
.u-pl-64 {
    padding-left: var(--sp-64);
}
.u-pr-64 {
    padding-right: var(--sp-64);
}
.u-p-66 {
    padding: var(--sp-66);
}
.u-px-66 {
    padding-left: var(--sp-66);
    padding-right: var(--sp-66);
}
.u-py-66 {
    padding-top: var(--sp-66);
    padding-bottom: var(--sp-66);
}
.u-pt-66 {
    padding-top: var(--sp-66);
}
.u-pb-66 {
    padding-bottom: var(--sp-66);
}
.u-pl-66 {
    padding-left: var(--sp-66);
}
.u-pr-66 {
    padding-right: var(--sp-66);
}
.u-p-68 {
    padding: var(--sp-68);
}
.u-px-68 {
    padding-left: var(--sp-68);
    padding-right: var(--sp-68);
}
.u-py-68 {
    padding-top: var(--sp-68);
    padding-bottom: var(--sp-68);
}
.u-pt-68 {
    padding-top: var(--sp-68);
}
.u-pb-68 {
    padding-bottom: var(--sp-68);
}
.u-pl-68 {
    padding-left: var(--sp-68);
}
.u-pr-68 {
    padding-right: var(--sp-68);
}
.u-p-70 {
    padding: var(--sp-70);
}
.u-px-70 {
    padding-left: var(--sp-70);
    padding-right: var(--sp-70);
}
.u-py-70 {
    padding-top: var(--sp-70);
    padding-bottom: var(--sp-70);
}
.u-pt-70 {
    padding-top: var(--sp-70);
}
.u-pb-70 {
    padding-bottom: var(--sp-70);
}
.u-pl-70 {
    padding-left: var(--sp-70);
}
.u-pr-70 {
    padding-right: var(--sp-70);
}
.u-p-72 {
    padding: var(--sp-72);
}
.u-px-72 {
    padding-left: var(--sp-72);
    padding-right: var(--sp-72);
}
.u-py-72 {
    padding-top: var(--sp-72);
    padding-bottom: var(--sp-72);
}
.u-pt-72 {
    padding-top: var(--sp-72);
}
.u-pb-72 {
    padding-bottom: var(--sp-72);
}
.u-pl-72 {
    padding-left: var(--sp-72);
}
.u-pr-72 {
    padding-right: var(--sp-72);
}
.u-p-74 {
    padding: var(--sp-74);
}
.u-px-74 {
    padding-left: var(--sp-74);
    padding-right: var(--sp-74);
}
.u-py-74 {
    padding-top: var(--sp-74);
    padding-bottom: var(--sp-74);
}
.u-pt-74 {
    padding-top: var(--sp-74);
}
.u-pb-74 {
    padding-bottom: var(--sp-74);
}
.u-pl-74 {
    padding-left: var(--sp-74);
}
.u-pr-74 {
    padding-right: var(--sp-74);
}
.u-p-76 {
    padding: var(--sp-76);
}
.u-px-76 {
    padding-left: var(--sp-76);
    padding-right: var(--sp-76);
}
.u-py-76 {
    padding-top: var(--sp-76);
    padding-bottom: var(--sp-76);
}
.u-pt-76 {
    padding-top: var(--sp-76);
}
.u-pb-76 {
    padding-bottom: var(--sp-76);
}
.u-pl-76 {
    padding-left: var(--sp-76);
}
.u-pr-76 {
    padding-right: var(--sp-76);
}
.u-p-78 {
    padding: var(--sp-78);
}
.u-px-78 {
    padding-left: var(--sp-78);
    padding-right: var(--sp-78);
}
.u-py-78 {
    padding-top: var(--sp-78);
    padding-bottom: var(--sp-78);
}
.u-pt-78 {
    padding-top: var(--sp-78);
}
.u-pb-78 {
    padding-bottom: var(--sp-78);
}
.u-pl-78 {
    padding-left: var(--sp-78);
}
.u-pr-78 {
    padding-right: var(--sp-78);
}
.u-p-80 {
    padding: var(--sp-80);
}
.u-px-80 {
    padding-left: var(--sp-80);
    padding-right: var(--sp-80);
}
.u-py-80 {
    padding-top: var(--sp-80);
    padding-bottom: var(--sp-80);
}
.u-pt-80 {
    padding-top: var(--sp-80);
}
.u-pb-80 {
    padding-bottom: var(--sp-80);
}
.u-pl-80 {
    padding-left: var(--sp-80);
}
.u-pr-80 {
    padding-right: var(--sp-80);
}

/* ============================================ 
   Margin System (0 - 80) 통합본
   ============================================ */

/* [All Sides] */
/* ============================================ 
   Margin System (0 - 120)
   ============================================ */

/* [M] All Sides (0-80, 2단위) */
.u-m-0 {
    margin: 0;
}

.u-m-4 {
    margin: var(--sp-4);
}
.u-m-6 {
    margin: var(--sp-6);
}
.u-m-8 {
    margin: var(--sp-8);
}
.u-m-10 {
    margin: var(--sp-10);
}
.u-m-12 {
    margin: var(--sp-12);
}
.u-m-14 {
    margin: var(--sp-14);
}
.u-m-16 {
    margin: var(--sp-16);
}
.u-m-18 {
    margin: var(--sp-18);
}
.u-m-20 {
    margin: var(--sp-20);
}
.u-m-22 {
    margin: var(--sp-22);
}
.u-m-24 {
    margin: var(--sp-24);
}
.u-m-26 {
    margin: var(--sp-26);
}
.u-m-28 {
    margin: var(--sp-28);
}
.u-m-30 {
    margin: var(--sp-30);
}
.u-m-32 {
    margin: var(--sp-32);
}
.u-m-34 {
    margin: var(--sp-34);
}
.u-m-36 {
    margin: var(--sp-36);
}
.u-m-38 {
    margin: var(--sp-38);
}
.u-m-40 {
    margin: var(--sp-40);
}
.u-m-42 {
    margin: var(--sp-42);
}
.u-m-44 {
    margin: var(--sp-44);
}
.u-m-46 {
    margin: var(--sp-46);
}
.u-m-48 {
    margin: var(--sp-48);
}
.u-m-50 {
    margin: var(--sp-50);
}
.u-m-52 {
    margin: var(--sp-52);
}
.u-m-54 {
    margin: var(--sp-54);
}
.u-m-56 {
    margin: var(--sp-56);
}
.u-m-58 {
    margin: var(--sp-58);
}
.u-m-60 {
    margin: var(--sp-60);
}
.u-m-62 {
    margin: var(--sp-62);
}
.u-m-64 {
    margin: var(--sp-64);
}
.u-m-66 {
    margin: var(--sp-66);
}
.u-m-68 {
    margin: var(--sp-68);
}
.u-m-70 {
    margin: var(--sp-70);
}
.u-m-72 {
    margin: var(--sp-72);
}
.u-m-74 {
    margin: var(--sp-74);
}
.u-m-76 {
    margin: var(--sp-76);
}
.u-m-78 {
    margin: var(--sp-78);
}
.u-m-80 {
    margin: var(--sp-80);
}
.u-m-auto {
    margin: auto;
}

/* [MX] Horizontal (0-80, 2단위) */
.u-mx-0 {
    margin-left: 0;
    margin-right: 0;
}

.u-mx-4 {
    margin-left: var(--sp-4);
    margin-right: var(--sp-4);
}
.u-mx-6 {
    margin-left: var(--sp-6);
    margin-right: var(--sp-6);
}
.u-mx-8 {
    margin-left: var(--sp-8);
    margin-right: var(--sp-8);
}
.u-mx-10 {
    margin-left: var(--sp-10);
    margin-right: var(--sp-10);
}
.u-mx-12 {
    margin-left: var(--sp-12);
    margin-right: var(--sp-12);
}
.u-mx-14 {
    margin-left: var(--sp-14);
    margin-right: var(--sp-14);
}
.u-mx-16 {
    margin-left: var(--sp-16);
    margin-right: var(--sp-16);
}
.u-mx-18 {
    margin-left: var(--sp-18);
    margin-right: var(--sp-18);
}
.u-mx-20 {
    margin-left: var(--sp-20);
    margin-right: var(--sp-20);
}
.u-mx-22 {
    margin-left: var(--sp-22);
    margin-right: var(--sp-22);
}
.u-mx-24 {
    margin-left: var(--sp-24);
    margin-right: var(--sp-24);
}
.u-mx-26 {
    margin-left: var(--sp-26);
    margin-right: var(--sp-26);
}
.u-mx-28 {
    margin-left: var(--sp-28);
    margin-right: var(--sp-28);
}
.u-mx-30 {
    margin-left: var(--sp-30);
    margin-right: var(--sp-30);
}
.u-mx-32 {
    margin-left: var(--sp-32);
    margin-right: var(--sp-32);
}
.u-mx-34 {
    margin-left: var(--sp-34);
    margin-right: var(--sp-34);
}
.u-mx-36 {
    margin-left: var(--sp-36);
    margin-right: var(--sp-36);
}
.u-mx-38 {
    margin-left: var(--sp-38);
    margin-right: var(--sp-38);
}
.u-mx-40 {
    margin-left: var(--sp-40);
    margin-right: var(--sp-40);
}
.u-mx-42 {
    margin-left: var(--sp-42);
    margin-right: var(--sp-42);
}
.u-mx-44 {
    margin-left: var(--sp-44);
    margin-right: var(--sp-44);
}
.u-mx-46 {
    margin-left: var(--sp-46);
    margin-right: var(--sp-46);
}
.u-mx-48 {
    margin-left: var(--sp-48);
    margin-right: var(--sp-48);
}
.u-mx-50 {
    margin-left: var(--sp-50);
    margin-right: var(--sp-50);
}
.u-mx-52 {
    margin-left: var(--sp-52);
    margin-right: var(--sp-52);
}
.u-mx-54 {
    margin-left: var(--sp-54);
    margin-right: var(--sp-54);
}
.u-mx-56 {
    margin-left: var(--sp-56);
    margin-right: var(--sp-56);
}
.u-mx-58 {
    margin-left: var(--sp-58);
    margin-right: var(--sp-58);
}
.u-mx-60 {
    margin-left: var(--sp-60);
    margin-right: var(--sp-60);
}
.u-mx-62 {
    margin-left: var(--sp-62);
    margin-right: var(--sp-62);
}
.u-mx-64 {
    margin-left: var(--sp-64);
    margin-right: var(--sp-64);
}
.u-mx-66 {
    margin-left: var(--sp-66);
    margin-right: var(--sp-66);
}
.u-mx-68 {
    margin-left: var(--sp-68);
    margin-right: var(--sp-68);
}
.u-mx-70 {
    margin-left: var(--sp-70);
    margin-right: var(--sp-70);
}
.u-mx-72 {
    margin-left: var(--sp-72);
    margin-right: var(--sp-72);
}
.u-mx-74 {
    margin-left: var(--sp-74);
    margin-right: var(--sp-74);
}
.u-mx-76 {
    margin-left: var(--sp-76);
    margin-right: var(--sp-76);
}
.u-mx-78 {
    margin-left: var(--sp-78);
    margin-right: var(--sp-78);
}
.u-mx-80 {
    margin-left: var(--sp-80);
    margin-right: var(--sp-80);
}
.u-mx-auto {
    margin-left: auto;
    margin-right: auto;
}

/* [MY] Vertical (0-80 2단위 / 80-120 10단위) */
.u-my-0 {
    margin-top: 0;
    margin-bottom: 0;
}

.u-my-4 {
    margin-top: var(--sp-4);
    margin-bottom: var(--sp-4);
}
.u-my-6 {
    margin-top: var(--sp-6);
    margin-bottom: var(--sp-6);
}
.u-my-8 {
    margin-top: var(--sp-8);
    margin-bottom: var(--sp-8);
}
.u-my-10 {
    margin-top: var(--sp-10);
    margin-bottom: var(--sp-10);
}
.u-my-12 {
    margin-top: var(--sp-12);
    margin-bottom: var(--sp-12);
}
.u-my-14 {
    margin-top: var(--sp-14);
    margin-bottom: var(--sp-14);
}
.u-my-16 {
    margin-top: var(--sp-16);
    margin-bottom: var(--sp-16);
}
.u-my-18 {
    margin-top: var(--sp-18);
    margin-bottom: var(--sp-18);
}
.u-my-20 {
    margin-top: var(--sp-20);
    margin-bottom: var(--sp-20);
}
.u-my-22 {
    margin-top: var(--sp-22);
    margin-bottom: var(--sp-22);
}
.u-my-24 {
    margin-top: var(--sp-24);
    margin-bottom: var(--sp-24);
}
.u-my-26 {
    margin-top: var(--sp-26);
    margin-bottom: var(--sp-26);
}
.u-my-28 {
    margin-top: var(--sp-28);
    margin-bottom: var(--sp-28);
}
.u-my-30 {
    margin-top: var(--sp-30);
    margin-bottom: var(--sp-30);
}
.u-my-32 {
    margin-top: var(--sp-32);
    margin-bottom: var(--sp-32);
}
.u-my-34 {
    margin-top: var(--sp-34);
    margin-bottom: var(--sp-34);
}
.u-my-36 {
    margin-top: var(--sp-36);
    margin-bottom: var(--sp-36);
}
.u-my-38 {
    margin-top: var(--sp-38);
    margin-bottom: var(--sp-38);
}
.u-my-40 {
    margin-top: var(--sp-40);
    margin-bottom: var(--sp-40);
}
.u-my-42 {
    margin-top: var(--sp-42);
    margin-bottom: var(--sp-42);
}
.u-my-44 {
    margin-top: var(--sp-44);
    margin-bottom: var(--sp-44);
}
.u-my-46 {
    margin-top: var(--sp-46);
    margin-bottom: var(--sp-46);
}
.u-my-48 {
    margin-top: var(--sp-48);
    margin-bottom: var(--sp-48);
}
.u-my-50 {
    margin-top: var(--sp-50);
    margin-bottom: var(--sp-50);
}
.u-my-52 {
    margin-top: var(--sp-52);
    margin-bottom: var(--sp-52);
}
.u-my-54 {
    margin-top: var(--sp-54);
    margin-bottom: var(--sp-54);
}
.u-my-56 {
    margin-top: var(--sp-56);
    margin-bottom: var(--sp-56);
}
.u-my-58 {
    margin-top: var(--sp-58);
    margin-bottom: var(--sp-58);
}
.u-my-60 {
    margin-top: var(--sp-60);
    margin-bottom: var(--sp-60);
}
.u-my-62 {
    margin-top: var(--sp-62);
    margin-bottom: var(--sp-62);
}
.u-my-64 {
    margin-top: var(--sp-64);
    margin-bottom: var(--sp-64);
}
.u-my-66 {
    margin-top: var(--sp-66);
    margin-bottom: var(--sp-66);
}
.u-my-68 {
    margin-top: var(--sp-68);
    margin-bottom: var(--sp-68);
}
.u-my-70 {
    margin-top: var(--sp-70);
    margin-bottom: var(--sp-70);
}
.u-my-72 {
    margin-top: var(--sp-72);
    margin-bottom: var(--sp-72);
}
.u-my-74 {
    margin-top: var(--sp-74);
    margin-bottom: var(--sp-74);
}
.u-my-76 {
    margin-top: var(--sp-76);
    margin-bottom: var(--sp-76);
}
.u-my-78 {
    margin-top: var(--sp-78);
    margin-bottom: var(--sp-78);
}
.u-my-80 {
    margin-top: var(--sp-80);
    margin-bottom: var(--sp-80);
}

/* [MT] Top (0-80, 2단위) */
.u-mt-0 {
    margin-top: 0;
}

.u-mt-4 {
    margin-top: var(--sp-4);
}
.u-mt-6 {
    margin-top: var(--sp-6);
}
.u-mt-8 {
    margin-top: var(--sp-8);
}
.u-mt-10 {
    margin-top: var(--sp-10);
}
.u-mt-12 {
    margin-top: var(--sp-12);
}
.u-mt-14 {
    margin-top: var(--sp-14);
}
.u-mt-16 {
    margin-top: var(--sp-16);
}
.u-mt-18 {
    margin-top: var(--sp-18);
}
.u-mt-20 {
    margin-top: var(--sp-20);
}
.u-mt-22 {
    margin-top: var(--sp-22);
}
.u-mt-24 {
    margin-top: var(--sp-24);
}
.u-mt-26 {
    margin-top: var(--sp-26);
}
.u-mt-28 {
    margin-top: var(--sp-28);
}
.u-mt-30 {
    margin-top: var(--sp-30);
}
.u-mt-32 {
    margin-top: var(--sp-32);
}
.u-mt-34 {
    margin-top: var(--sp-34);
}
.u-mt-36 {
    margin-top: var(--sp-36);
}
.u-mt-38 {
    margin-top: var(--sp-38);
}
.u-mt-40 {
    margin-top: var(--sp-40);
}
.u-mt-42 {
    margin-top: var(--sp-42);
}
.u-mt-44 {
    margin-top: var(--sp-44);
}
.u-mt-46 {
    margin-top: var(--sp-46);
}
.u-mt-48 {
    margin-top: var(--sp-48);
}
.u-mt-50 {
    margin-top: var(--sp-50);
}
.u-mt-52 {
    margin-top: var(--sp-52);
}
.u-mt-54 {
    margin-top: var(--sp-54);
}
.u-mt-56 {
    margin-top: var(--sp-56);
}
.u-mt-58 {
    margin-top: var(--sp-58);
}
.u-mt-60 {
    margin-top: var(--sp-60);
}
.u-mt-62 {
    margin-top: var(--sp-62);
}
.u-mt-64 {
    margin-top: var(--sp-64);
}
.u-mt-66 {
    margin-top: var(--sp-66);
}
.u-mt-68 {
    margin-top: var(--sp-68);
}
.u-mt-70 {
    margin-top: var(--sp-70);
}
.u-mt-72 {
    margin-top: var(--sp-72);
}
.u-mt-74 {
    margin-top: var(--sp-74);
}
.u-mt-76 {
    margin-top: var(--sp-76);
}
.u-mt-78 {
    margin-top: var(--sp-78);
}
.u-mt-80 {
    margin-top: var(--sp-80);
}
.u-mt-auto {
    margin-top: auto;
}

/* [MB] Bottom (0-80, 2단위 / 80-120 10단위) */
.u-mb-0 {
    margin-bottom: 0;
}

.u-mb-4 {
    margin-bottom: var(--sp-4);
}
.u-mb-6 {
    margin-bottom: var(--sp-6);
}
.u-mb-8 {
    margin-bottom: var(--sp-8);
}
.u-mb-10 {
    margin-bottom: var(--sp-10);
}
.u-mb-12 {
    margin-bottom: var(--sp-12);
}
.u-mb-14 {
    margin-bottom: var(--sp-14);
}
.u-mb-16 {
    margin-bottom: var(--sp-16);
}
.u-mb-18 {
    margin-bottom: var(--sp-18);
}
.u-mb-20 {
    margin-bottom: var(--sp-20);
}
.u-mb-22 {
    margin-bottom: var(--sp-22);
}
.u-mb-24 {
    margin-bottom: var(--sp-24);
}
.u-mb-26 {
    margin-bottom: var(--sp-26);
}
.u-mb-28 {
    margin-bottom: var(--sp-28);
}
.u-mb-30 {
    margin-bottom: var(--sp-30);
}
.u-mb-32 {
    margin-bottom: var(--sp-32);
}
.u-mb-34 {
    margin-bottom: var(--sp-34);
}
.u-mb-36 {
    margin-bottom: var(--sp-36);
}
.u-mb-38 {
    margin-bottom: var(--sp-38);
}
.u-mb-40 {
    margin-bottom: var(--sp-40);
}
.u-mb-42 {
    margin-bottom: var(--sp-42);
}
.u-mb-44 {
    margin-bottom: var(--sp-44);
}
.u-mb-46 {
    margin-bottom: var(--sp-46);
}
.u-mb-48 {
    margin-bottom: var(--sp-48);
}
.u-mb-50 {
    margin-bottom: var(--sp-50);
}
.u-mb-52 {
    margin-bottom: var(--sp-52);
}
.u-mb-54 {
    margin-bottom: var(--sp-54);
}
.u-mb-56 {
    margin-bottom: var(--sp-56);
}
.u-mb-58 {
    margin-bottom: var(--sp-58);
}
.u-mb-60 {
    margin-bottom: var(--sp-60);
}
.u-mb-62 {
    margin-bottom: var(--sp-62);
}
.u-mb-64 {
    margin-bottom: var(--sp-64);
}
.u-mb-66 {
    margin-bottom: var(--sp-66);
}
.u-mb-68 {
    margin-bottom: var(--sp-68);
}
.u-mb-70 {
    margin-bottom: var(--sp-70);
}
.u-mb-72 {
    margin-bottom: var(--sp-72);
}
.u-mb-74 {
    margin-bottom: var(--sp-74);
}
.u-mb-76 {
    margin-bottom: var(--sp-76);
}
.u-mb-78 {
    margin-bottom: var(--sp-78);
}
.u-mb-80 {
    margin-bottom: var(--sp-80);
}
.u-mb-auto {
    margin-bottom: auto;
}

/* [ML] Left (0-80, 2단위) */
.u-ml-0 {
    margin-left: 0;
}

.u-ml-4 {
    margin-left: var(--sp-4);
}
.u-ml-6 {
    margin-left: var(--sp-6);
}
.u-ml-8 {
    margin-left: var(--sp-8);
}
.u-ml-10 {
    margin-left: var(--sp-10);
}
.u-ml-12 {
    margin-left: var(--sp-12);
}
.u-ml-14 {
    margin-left: var(--sp-14);
}
.u-ml-16 {
    margin-left: var(--sp-16);
}
.u-ml-18 {
    margin-left: var(--sp-18);
}
.u-ml-20 {
    margin-left: var(--sp-20);
}
.u-ml-22 {
    margin-left: var(--sp-22);
}
.u-ml-24 {
    margin-left: var(--sp-24);
}
.u-ml-26 {
    margin-left: var(--sp-26);
}
.u-ml-28 {
    margin-left: var(--sp-28);
}
.u-ml-30 {
    margin-left: var(--sp-30);
}
.u-ml-32 {
    margin-left: var(--sp-32);
}
.u-ml-34 {
    margin-left: var(--sp-34);
}
.u-ml-36 {
    margin-left: var(--sp-36);
}
.u-ml-38 {
    margin-left: var(--sp-38);
}
.u-ml-40 {
    margin-left: var(--sp-40);
}
.u-ml-42 {
    margin-left: var(--sp-42);
}
.u-ml-44 {
    margin-left: var(--sp-44);
}
.u-ml-46 {
    margin-left: var(--sp-46);
}
.u-ml-48 {
    margin-left: var(--sp-48);
}
.u-ml-50 {
    margin-left: var(--sp-50);
}
.u-ml-52 {
    margin-left: var(--sp-52);
}
.u-ml-54 {
    margin-left: var(--sp-54);
}
.u-ml-56 {
    margin-left: var(--sp-56);
}
.u-ml-58 {
    margin-left: var(--sp-58);
}
.u-ml-60 {
    margin-left: var(--sp-60);
}
.u-ml-62 {
    margin-left: var(--sp-62);
}
.u-ml-64 {
    margin-left: var(--sp-64);
}
.u-ml-66 {
    margin-left: var(--sp-66);
}
.u-ml-68 {
    margin-left: var(--sp-68);
}
.u-ml-70 {
    margin-left: var(--sp-70);
}
.u-ml-72 {
    margin-left: var(--sp-72);
}
.u-ml-74 {
    margin-left: var(--sp-74);
}
.u-ml-76 {
    margin-left: var(--sp-76);
}
.u-ml-78 {
    margin-left: var(--sp-78);
}
.u-ml-80 {
    margin-left: var(--sp-80);
}
.u-ml-auto {
    margin-left: auto;
}

/* [MR] Right (0-80, 2단위) */
.u-mr-0 {
    margin-right: 0;
}

.u-mr-4 {
    margin-right: var(--sp-4);
}
.u-mr-6 {
    margin-right: var(--sp-6);
}
.u-mr-8 {
    margin-right: var(--sp-8);
}
.u-mr-10 {
    margin-right: var(--sp-10);
}
.u-mr-12 {
    margin-right: var(--sp-12);
}
.u-mr-14 {
    margin-right: var(--sp-14);
}
.u-mr-16 {
    margin-right: var(--sp-16);
}
.u-mr-18 {
    margin-right: var(--sp-18);
}
.u-mr-20 {
    margin-right: var(--sp-20);
}
.u-mr-22 {
    margin-right: var(--sp-22);
}
.u-mr-24 {
    margin-right: var(--sp-24);
}
.u-mr-26 {
    margin-right: var(--sp-26);
}
.u-mr-28 {
    margin-right: var(--sp-28);
}
.u-mr-30 {
    margin-right: var(--sp-30);
}
.u-mr-32 {
    margin-right: var(--sp-32);
}
.u-mr-34 {
    margin-right: var(--sp-34);
}
.u-mr-36 {
    margin-right: var(--sp-36);
}
.u-mr-38 {
    margin-right: var(--sp-38);
}
.u-mr-40 {
    margin-right: var(--sp-40);
}
.u-mr-42 {
    margin-right: var(--sp-42);
}
.u-mr-44 {
    margin-right: var(--sp-44);
}
.u-mr-46 {
    margin-right: var(--sp-46);
}
.u-mr-48 {
    margin-right: var(--sp-48);
}
.u-mr-50 {
    margin-right: var(--sp-50);
}
.u-mr-52 {
    margin-right: var(--sp-52);
}
.u-mr-54 {
    margin-right: var(--sp-54);
}
.u-mr-56 {
    margin-right: var(--sp-56);
}
.u-mr-58 {
    margin-right: var(--sp-58);
}
.u-mr-60 {
    margin-right: var(--sp-60);
}
.u-mr-62 {
    margin-right: var(--sp-62);
}
.u-mr-64 {
    margin-right: var(--sp-64);
}
.u-mr-66 {
    margin-right: var(--sp-66);
}
.u-mr-68 {
    margin-right: var(--sp-68);
}
.u-mr-70 {
    margin-right: var(--sp-70);
}
.u-mr-72 {
    margin-right: var(--sp-72);
}
.u-mr-74 {
    margin-right: var(--sp-74);
}
.u-mr-76 {
    margin-right: var(--sp-76);
}
.u-mr-78 {
    margin-right: var(--sp-78);
}
.u-mr-80 {
    margin-right: var(--sp-80);
}
.u-mr-auto {
    margin-right: auto;
}
/* ############################################################
   SECTION 06. 이미지 비율 & 시각 효과
############################################################

/* [부모/단일 공통] 비율 유틸리티 */
.u-ratio,
[class*='u-ratio-'] {
    position: relative;
    width: 100%;
    display: block;
    overflow: hidden;
}

/* 비율 설정 */
.u-ratio-16-9 {
    aspect-ratio: 16 / 9;
}
.u-ratio-4-3 {
    aspect-ratio: 4 / 3;
}
.u-ratio-3-4 {
    aspect-ratio: 3 / 4;
}
.u-ratio-1-1 {
    aspect-ratio: 1 / 1;
}

.u-round-0 {
    border-radius: 0;
}
.u-round-4 {
    border-radius: var(--sp-4);
}
.u-round-8 {
    border-radius: var(--sp-8);
}
.u-round-10 {
    border-radius: var(--sp-10);
}
.u-round-12 {
    border-radius: var(--sp-12);
}
.u-round-16 {
    border-radius: var(--sp-16);
}
.u-round-20 {
    border-radius: var(--sp-20);
}
.u-round-24 {
    border-radius: var(--sp-24);
}
.u-round-full {
    border-radius: 999px;
}

.u-round-30 {
    border-radius: var(--sp-30);
}
.u-round-40 {
    border-radius: var(--sp-40);
}
.u-round-50 {
    border-radius: var(--sp-50);
}
.u-round-60 {
    border-radius: var(--sp-60);
}

.shadow-soft {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}
.shadow-soft:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.shadow-hard {
    box-shadow: 0 0 20px 0 rgba(37, 69, 107, 0.1);
}

/* ############################################################
   SECTION 07. 기타 유틸리티 & 유튜브 배경
############################################################
*/

.cursor-pointer {
    cursor: pointer;
}
.no-drag {
    user-select: none;
}
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* 유튜브 백그라운드 */
.yt-wrap {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background-color: var(--gray-900);
}
.yt-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 177.78vh;
    min-width: 100%;
    height: 100vh;
    min-height: 56.25vw;
    pointer-events: none;
}
@media (min-aspect-ratio: 16/9) {
    .yt-container {
        width: 100vw;
        height: 56.25vw;
    }
}
.yt-container iframe {
    width: 100%;
    height: 100%;
    border: 0;
    transform: scale(1.1);
}

/* ############################################################
   SECTION 08. 보더 시스템 (두께/위치/색상 분리)
   - bd: 전체, bd-t/b/l/r: 상하좌우
   - 숫자: 1px, 2px, 3px
############################################################ */

/* 1. 보더 두께 및 위치 (Color 제외) */
.u-bd-1 {
    border: 1px;
}
.u-bd-2 {
    border: 2px;
}
.u-bd-3 {
    border: 3px;
}

.u-bt-1 {
    border-top: 1px solid;
}
.u-bt-2 {
    border-top: 2px solid;
}
.u-bt-3 {
    border-top: 3px solid;
}

.u-bb-1 {
    border-bottom: 1px solid;
}
.u-bb-2 {
    border-bottom: 2px solid;
}
.u-bb-3 {
    border-bottom: 3px solid;
}

.u-bl-1 {
    border-left: 1px solid;
}
.u-bl-2 {
    border-left: 2px solid;
}

.u-br-1 {
    border-right: 1px solid;
}
.u-br-2 {
    border-right: 2px solid;
}

.u-bd-n {
    border: none;
} /* 보더 제거용 */

.u-b-solid {
    border-style: solid;
}
.u-b-dashed {
    border-style: dashed;
}
.u-b-dotted {
    border-style: dotted;
}
.u-b-double {
    border-style: double;
}
.u-b-none {
    border-style: none;
}

/* ############################################################
   SECTION 09. 폼 요소 시스템 (Input, Radio, Checkbox)
############################################################ */

/* 1. 공통 입력창 (Input, Textarea) */
.u-input {
    width: 100%;
    padding: var(--sp-8) var(--sp-16);
    font-size: clamp(0.9375rem, 0.1vw + 0.9rem, 1rem); /* c-fs-16 기반 */
    color: var(--black);
    background-color: var(--white);
    border: 1px solid var(--gray-300);
    border-radius: 8px;
    outline: none;
    transition:
        border-color 0.2s,
        box-shadow 0.2s;
}

.u-select {
    padding: 0;
}

.u-input:focus {
    border-color: var(--main-color);
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.1);
}

.u-input::placeholder {
    color: var(--gray-500);
}

/* 2. 커스텀 라디오 & 체크박스 (공통 스타일) */
.u-check-wrap {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
}

.u-radio,
.u-check {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid var(--gray-300);
    background-color: #fff;
    cursor: pointer;
    position: relative;
    transition: 0.2s;
    display: inline-block;
}

/* 라디오 전용 (원형) */
.u-radio {
    border-radius: 50%;
}

/* 체크박스 전용 (사각형) */

/* 선택 시 상태 (공통) */
.u-radio:checked,
.u-check:checked {
    background-color: var(--main-color);
    border-color: var(--gray-500);
}

/* 선택 시 내부 표식 (라디오: 점, 체크박스: 체크표시) */
.u-radio:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    background-color: #fff;
    border-radius: 50%;
}

.u-check:checked::after {
    content: '✔';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 12px;
}

/* ############################################################
   SECTION 10. 오퍼시티 시스템 (Opacity 1-10)
   - 클래스명: .op-{1~10}
############################################################ */
/* Opacity Utilities */
.u-op-1 {
    opacity: 0.1;
}
.u-op-2 {
    opacity: 0.2;
}
.u-op-3 {
    opacity: 0.3;
}
.u-op-4 {
    opacity: 0.4;
}
.u-op-5 {
    opacity: 0.5;
}
.u-op-6 {
    opacity: 0.6;
}
.u-op-7 {
    opacity: 0.7;
}
.u-op-8 {
    opacity: 0.8;
}
.u-op-9 {
    opacity: 0.9;
}
.u-op-10 {
    opacity: 1;
}

/* 추가 팁: 0(완전 투명)도 필요할 수 있습니다 */
.u-op-0 {
    opacity: 0;
}

/* ############################################################
   SECTION 11. 테일윈드 스타일 특수 유틸리티
############################################################ */

/* 1. 인셋 그림자 (Inner Shadow) 
   - 입력창이나 버튼이 눌린 듯한 입체감을 줄 때 사용 */
.u-shadow-inner {
    box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
}

/* 2. 블러 배경 (Backdrop Blur) 
   - 아이폰 스타일의 반투명 헤더나 모달 배경 */
.u-blur-4 {
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.u-blur-12 {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* 3. 포인터 이벤트 제어 (Tailwind: pointer-events-none)
   - 아이콘이 입력창을 가릴 때 클릭 통과용 */
.u-pe-none {
    pointer-events: none;
}
.u-pe-auto {
    pointer-events: auto;
}

/* 4. 오브젝트 핏 (Tailwind: object-contain)
   - 로고 이미지가 찌그러지지 않고 박스 안에 쏙 들어가게 */
.u-obj-contain {
    object-fit: contain;
}
.u-obj-cover {
    object-fit: cover;
}

/* 5. 가로세로 중앙 정렬 (Absolute 센터링)
   - position-relative 부모 안에서 요소를 정중앙에 배치 */
.u-abs-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* ############################################################
   SECTION 12. 구글 마테리얼 아이콘 
############################################################ */

/* 아이콘 기본 세팅 */
.material-symbols-outlined {
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 24;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}
/* 꽉 찬 아이콘용 클래스 */
.u-icon-fill {
    font-variation-settings: 'FILL' 1;
}

/* ############################################################
   SECTION 13. Z-INDEX를 통한 층위 조절
############################################################ */

.z-header {
    z-index: var(--z-header);
}
.z-modal {
    z-index: var(--z-modal);
}
.z-toast {
    z-index: var(--z-toast);
}
.z-dropdown {
    z-index: 1000;
}
.z-sticky {
    z-index: var(--z-sticky);
}
.z-popover {
    z-index: 1060;
}
.z-tooltip {
    z-index: 1070;
}
.z-minus {
    z-index: var(--z-back);
}
.z-two {
    z-index: var(--z-two);
}

/* ############################################################
   SECTION 14. 인터랙션 유틸리티 (Material & Modern UX)
############################################################ */

/* 1. Ripple (리플: 파문 효과) 
   - 사용자가 '어디를' 눌렀는지 빛의 파동으로 즉각적인 피드백 제공 */
.u-ripple {
    position: relative;
    overflow: hidden;
    -webkit-mask-image: -webkit-radial-gradient(white, black); /* 사파리/모바일 브라우저 둥근 모서리 버그 방지 */
}
.u-ripple::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 5px;
    height: 5px;
    background: rgba(255, 255, 255, 0.4);
    opacity: 0;
    border-radius: 100%;
    transform: translate(-50%, -50%) scale(0);
    pointer-events: none;
}
.u-ripple:active::after {
    animation: ripple 0.4s ease-out;
}
@keyframes ripple {
    0% {
        transform: translate(-50%, -50%) scale(0);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) scale(40);
        opacity: 0;
    }
}

/* 2. Lift (리프트: 공중 부양)
   - 호버 시 고도(Elevation)를 높여 클릭 가능한 요소임을 강조 */
.u-lift {
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}
.u-lift:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);
}

/* 3. Press (프레스: 물리적 압축)
   - 클릭 순간 실제로 버튼이 눌리는 듯한 물리적 깊이감 제공 */
.u-press {
    transition: transform 0.1s ease;
}
.u-press:active {
    transform: scale(0.96);
}

/* 4. Glow (글로우: 은은한 발광)
   - 브랜드 컬러를 활용해 테두리와 배경에 시각적 집중도 형성 */
.u-glow {
    transition:
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}
.u-glow:hover {
    border-color: var(--main-color);
    box-shadow: 0 0 15px rgba(0, 123, 255, 0.2);
}

/* 5. Shimmer (쉬머: 스치는 광택)
   - 강조하고 싶은 버튼에 고급스러운 빛의 흐름 추가 */
.u-shimmer {
    position: relative;
    overflow: hidden;
}
.u-shimmer::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -150%;
    width: 200%;
    height: 200%;
    background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.25), transparent);
    transform: rotate(45deg);
    transition: 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.u-shimmer:hover::before {
    left: 100%;
}

/* 6. Magnet (마그넷: 자석 효과)
   - 마우스가 다가올 때 살짝 커지며 상호작용 유도 */
.u-magnet {
    transition: transform 0.2s cubic-bezier(0.23, 1, 0.32, 1);
}
.u-magnet:hover {
    transform: scale(1.04);
}

@keyframes rotate_image {
    100% {
        transform: rotate(360deg);
    }
}

.u-rotate {
    animation: rotate_image 10s linear infinite; /* 3초 동안 무한 반복 */
    transform-origin: center; /* 중심점을 기준으로 회전 */
    display: inline-block; /* block이나 inline-block 요소여야 회전이 잘 보입니다 */
}

/* ############################################################
   SECTION 15. 버튼 유틸리티 
############################################################ */

/* [유형별 버튼] */
/* 1. 메인 버튼 (Blue) */
.u-btn-main {
    background-color: var(--btn-main);
    color: #fff;
}
.u-btn-main:hover {
    background-color: var(--btn-main-hover);
    transform: translateY(-2px); /* 살짝 떠오르는 느낌 (hover) */
}
.u-btn-main:active {
    background-color: var(--btn-main-active);
    transform: translateY(0); /* 다시 바닥으로 (active) */
    filter: brightness(0.9); /* 살짝 어둡게 */
}

/* 서브 컬러 버튼 (Gray) */
.u-btn-sub {
    background-color: var(--btn-sub);
    color: var(--black);
}
.u-btn-sub:hover {
    background-color: var(--btn-sub-hover);
}
.u-btn-sub:active {
    background-color: var(--btn-sub-active);
}

/* 강조 컬러 버튼 (Accent/Yellow) */
.u-btn-point {
    background-color: var(--point);
    color: var(--black);
}
.u-btn-accent:hover {
    filter: brightness(0.9);
}

/* 아웃라인 버튼 (Border만 있는 형태) */
.u-btn-outline {
    background-color: transparent;
    border-color: var(--gray-300);
    color: var(--dark);
}
.u-btn-outline:hover {
    background-color: var(--gray-100);
    border-color: var(--gray-400);
}

/* Success (Green 계열 - 시스템 확장) */
.u-btn-success {
    background-color: #28a745;
    color: var(--white);
}
.u-btn-success:hover {
    background-color: #218838;
}

/* Danger (Red 계열 - 시스템 확장) */
.u-btn-danger {
    background-color: #dc3545;
    color: var(--white);
}
.u-btn-danger:hover {
    background-color: #c82333;
}

/* [버튼 크기 유틸리티] */

.u-btn-lg {
    padding: var(--sp-16) var(--sp-32);
    font-size: 1.125rem;
}
.u-btn-full {
    width: 100%;
}

.w-fit {
    width: fit-content;
}
.w-min {
    width: min-content;
}
.w-max {
    width: max-content;
}

.h-fit {
    height: fit-content;
}

/* ==========================================
     GAP (사이 간격)
     ========================================== */

/* ############################################################
   SECTION EXTEND. 82~250 추가 유틸리티 클래스
############################################################ */

/* === Padding & Margin === */
.u-p-82 {
    padding: var(--sp-82);
}
.u-px-82 {
    padding-left: var(--sp-82);
    padding-right: var(--sp-82);
}
.u-py-82 {
    padding-top: var(--sp-82);
    padding-bottom: var(--sp-82);
}
.u-pt-82 {
    padding-top: var(--sp-82);
}
.u-pb-82 {
    padding-bottom: var(--sp-82);
}
.u-pl-82 {
    padding-left: var(--sp-82);
}
.u-pr-82 {
    padding-right: var(--sp-82);
}
.u-m-82 {
    margin: var(--sp-82);
}
.u-mx-82 {
    margin-left: var(--sp-82);
    margin-right: var(--sp-82);
}
.u-my-82 {
    margin-top: var(--sp-82);
    margin-bottom: var(--sp-82);
}
.u-mt-82 {
    margin-top: var(--sp-82);
}
.u-mb-82 {
    margin-bottom: var(--sp-82);
}
.u-ml-82 {
    margin-left: var(--sp-82);
}
.u-mr-82 {
    margin-right: var(--sp-82);
}
.u-p-84 {
    padding: var(--sp-84);
}
.u-px-84 {
    padding-left: var(--sp-84);
    padding-right: var(--sp-84);
}
.u-py-84 {
    padding-top: var(--sp-84);
    padding-bottom: var(--sp-84);
}
.u-pt-84 {
    padding-top: var(--sp-84);
}
.u-pb-84 {
    padding-bottom: var(--sp-84);
}
.u-pl-84 {
    padding-left: var(--sp-84);
}
.u-pr-84 {
    padding-right: var(--sp-84);
}
.u-m-84 {
    margin: var(--sp-84);
}
.u-mx-84 {
    margin-left: var(--sp-84);
    margin-right: var(--sp-84);
}
.u-my-84 {
    margin-top: var(--sp-84);
    margin-bottom: var(--sp-84);
}
.u-mt-84 {
    margin-top: var(--sp-84);
}
.u-mb-84 {
    margin-bottom: var(--sp-84);
}
.u-ml-84 {
    margin-left: var(--sp-84);
}
.u-mr-84 {
    margin-right: var(--sp-84);
}
.u-p-86 {
    padding: var(--sp-86);
}
.u-px-86 {
    padding-left: var(--sp-86);
    padding-right: var(--sp-86);
}
.u-py-86 {
    padding-top: var(--sp-86);
    padding-bottom: var(--sp-86);
}
.u-pt-86 {
    padding-top: var(--sp-86);
}
.u-pb-86 {
    padding-bottom: var(--sp-86);
}
.u-pl-86 {
    padding-left: var(--sp-86);
}
.u-pr-86 {
    padding-right: var(--sp-86);
}
.u-m-86 {
    margin: var(--sp-86);
}
.u-mx-86 {
    margin-left: var(--sp-86);
    margin-right: var(--sp-86);
}
.u-my-86 {
    margin-top: var(--sp-86);
    margin-bottom: var(--sp-86);
}
.u-mt-86 {
    margin-top: var(--sp-86);
}
.u-mb-86 {
    margin-bottom: var(--sp-86);
}
.u-ml-86 {
    margin-left: var(--sp-86);
}
.u-mr-86 {
    margin-right: var(--sp-86);
}
.u-p-88 {
    padding: var(--sp-88);
}
.u-px-88 {
    padding-left: var(--sp-88);
    padding-right: var(--sp-88);
}
.u-py-88 {
    padding-top: var(--sp-88);
    padding-bottom: var(--sp-88);
}
.u-pt-88 {
    padding-top: var(--sp-88);
}
.u-pb-88 {
    padding-bottom: var(--sp-88);
}
.u-pl-88 {
    padding-left: var(--sp-88);
}
.u-pr-88 {
    padding-right: var(--sp-88);
}
.u-m-88 {
    margin: var(--sp-88);
}
.u-mx-88 {
    margin-left: var(--sp-88);
    margin-right: var(--sp-88);
}
.u-my-88 {
    margin-top: var(--sp-88);
    margin-bottom: var(--sp-88);
}
.u-mt-88 {
    margin-top: var(--sp-88);
}
.u-mb-88 {
    margin-bottom: var(--sp-88);
}
.u-ml-88 {
    margin-left: var(--sp-88);
}
.u-mr-88 {
    margin-right: var(--sp-88);
}
.u-p-90 {
    padding: var(--sp-90);
}
.u-px-90 {
    padding-left: var(--sp-90);
    padding-right: var(--sp-90);
}
.u-py-90 {
    padding-top: var(--sp-90);
    padding-bottom: var(--sp-90);
}
.u-pt-90 {
    padding-top: var(--sp-90);
}
.u-pb-90 {
    padding-bottom: var(--sp-90);
}
.u-pl-90 {
    padding-left: var(--sp-90);
}
.u-pr-90 {
    padding-right: var(--sp-90);
}
.u-m-90 {
    margin: var(--sp-90);
}
.u-mx-90 {
    margin-left: var(--sp-90);
    margin-right: var(--sp-90);
}
.u-my-90 {
    margin-top: var(--sp-90);
    margin-bottom: var(--sp-90);
}
.u-mt-90 {
    margin-top: var(--sp-90);
}
.u-mb-90 {
    margin-bottom: var(--sp-90);
}
.u-ml-90 {
    margin-left: var(--sp-90);
}
.u-mr-90 {
    margin-right: var(--sp-90);
}
.u-p-92 {
    padding: var(--sp-92);
}
.u-px-92 {
    padding-left: var(--sp-92);
    padding-right: var(--sp-92);
}
.u-py-92 {
    padding-top: var(--sp-92);
    padding-bottom: var(--sp-92);
}
.u-pt-92 {
    padding-top: var(--sp-92);
}
.u-pb-92 {
    padding-bottom: var(--sp-92);
}
.u-pl-92 {
    padding-left: var(--sp-92);
}
.u-pr-92 {
    padding-right: var(--sp-92);
}
.u-m-92 {
    margin: var(--sp-92);
}
.u-mx-92 {
    margin-left: var(--sp-92);
    margin-right: var(--sp-92);
}
.u-my-92 {
    margin-top: var(--sp-92);
    margin-bottom: var(--sp-92);
}
.u-mt-92 {
    margin-top: var(--sp-92);
}
.u-mb-92 {
    margin-bottom: var(--sp-92);
}
.u-ml-92 {
    margin-left: var(--sp-92);
}
.u-mr-92 {
    margin-right: var(--sp-92);
}
.u-p-94 {
    padding: var(--sp-94);
}
.u-px-94 {
    padding-left: var(--sp-94);
    padding-right: var(--sp-94);
}
.u-py-94 {
    padding-top: var(--sp-94);
    padding-bottom: var(--sp-94);
}
.u-pt-94 {
    padding-top: var(--sp-94);
}
.u-pb-94 {
    padding-bottom: var(--sp-94);
}
.u-pl-94 {
    padding-left: var(--sp-94);
}
.u-pr-94 {
    padding-right: var(--sp-94);
}
.u-m-94 {
    margin: var(--sp-94);
}
.u-mx-94 {
    margin-left: var(--sp-94);
    margin-right: var(--sp-94);
}
.u-my-94 {
    margin-top: var(--sp-94);
    margin-bottom: var(--sp-94);
}
.u-mt-94 {
    margin-top: var(--sp-94);
}
.u-mb-94 {
    margin-bottom: var(--sp-94);
}
.u-ml-94 {
    margin-left: var(--sp-94);
}
.u-mr-94 {
    margin-right: var(--sp-94);
}
.u-p-96 {
    padding: var(--sp-96);
}
.u-px-96 {
    padding-left: var(--sp-96);
    padding-right: var(--sp-96);
}
.u-py-96 {
    padding-top: var(--sp-96);
    padding-bottom: var(--sp-96);
}
.u-pt-96 {
    padding-top: var(--sp-96);
}
.u-pb-96 {
    padding-bottom: var(--sp-96);
}
.u-pl-96 {
    padding-left: var(--sp-96);
}
.u-pr-96 {
    padding-right: var(--sp-96);
}
.u-m-96 {
    margin: var(--sp-96);
}
.u-mx-96 {
    margin-left: var(--sp-96);
    margin-right: var(--sp-96);
}
.u-my-96 {
    margin-top: var(--sp-96);
    margin-bottom: var(--sp-96);
}
.u-mt-96 {
    margin-top: var(--sp-96);
}
.u-mb-96 {
    margin-bottom: var(--sp-96);
}
.u-ml-96 {
    margin-left: var(--sp-96);
}
.u-mr-96 {
    margin-right: var(--sp-96);
}
.u-p-98 {
    padding: var(--sp-98);
}
.u-px-98 {
    padding-left: var(--sp-98);
    padding-right: var(--sp-98);
}
.u-py-98 {
    padding-top: var(--sp-98);
    padding-bottom: var(--sp-98);
}
.u-pt-98 {
    padding-top: var(--sp-98);
}
.u-pb-98 {
    padding-bottom: var(--sp-98);
}
.u-pl-98 {
    padding-left: var(--sp-98);
}
.u-pr-98 {
    padding-right: var(--sp-98);
}
.u-m-98 {
    margin: var(--sp-98);
}
.u-mx-98 {
    margin-left: var(--sp-98);
    margin-right: var(--sp-98);
}
.u-my-98 {
    margin-top: var(--sp-98);
    margin-bottom: var(--sp-98);
}
.u-mt-98 {
    margin-top: var(--sp-98);
}
.u-mb-98 {
    margin-bottom: var(--sp-98);
}
.u-ml-98 {
    margin-left: var(--sp-98);
}
.u-mr-98 {
    margin-right: var(--sp-98);
}
.u-p-100 {
    padding: var(--sp-100);
}
.u-px-100 {
    padding-left: var(--sp-100);
    padding-right: var(--sp-100);
}
.u-py-100 {
    padding-top: var(--sp-100);
    padding-bottom: var(--sp-100);
}
.u-pt-100 {
    padding-top: var(--sp-100);
}
.u-pb-100 {
    padding-bottom: var(--sp-100);
}
.u-pl-100 {
    padding-left: var(--sp-100);
}
.u-pr-100 {
    padding-right: var(--sp-100);
}
.u-m-100 {
    margin: var(--sp-100);
}
.u-mx-100 {
    margin-left: var(--sp-100);
    margin-right: var(--sp-100);
}
.u-my-100 {
    margin-top: var(--sp-100);
    margin-bottom: var(--sp-100);
}
.u-mt-100 {
    margin-top: var(--sp-100);
}
.u-mb-100 {
    margin-bottom: var(--sp-100);
}
.u-ml-100 {
    margin-left: var(--sp-100);
}
.u-mr-100 {
    margin-right: var(--sp-100);
}
.u-p-102 {
    padding: var(--sp-102);
}
.u-px-102 {
    padding-left: var(--sp-102);
    padding-right: var(--sp-102);
}
.u-py-102 {
    padding-top: var(--sp-102);
    padding-bottom: var(--sp-102);
}
.u-pt-102 {
    padding-top: var(--sp-102);
}
.u-pb-102 {
    padding-bottom: var(--sp-102);
}
.u-pl-102 {
    padding-left: var(--sp-102);
}
.u-pr-102 {
    padding-right: var(--sp-102);
}
.u-m-102 {
    margin: var(--sp-102);
}
.u-mx-102 {
    margin-left: var(--sp-102);
    margin-right: var(--sp-102);
}
.u-my-102 {
    margin-top: var(--sp-102);
    margin-bottom: var(--sp-102);
}
.u-mt-102 {
    margin-top: var(--sp-102);
}
.u-mb-102 {
    margin-bottom: var(--sp-102);
}
.u-ml-102 {
    margin-left: var(--sp-102);
}
.u-mr-102 {
    margin-right: var(--sp-102);
}
.u-p-104 {
    padding: var(--sp-104);
}
.u-px-104 {
    padding-left: var(--sp-104);
    padding-right: var(--sp-104);
}
.u-py-104 {
    padding-top: var(--sp-104);
    padding-bottom: var(--sp-104);
}
.u-pt-104 {
    padding-top: var(--sp-104);
}
.u-pb-104 {
    padding-bottom: var(--sp-104);
}
.u-pl-104 {
    padding-left: var(--sp-104);
}
.u-pr-104 {
    padding-right: var(--sp-104);
}
.u-m-104 {
    margin: var(--sp-104);
}
.u-mx-104 {
    margin-left: var(--sp-104);
    margin-right: var(--sp-104);
}
.u-my-104 {
    margin-top: var(--sp-104);
    margin-bottom: var(--sp-104);
}
.u-mt-104 {
    margin-top: var(--sp-104);
}
.u-mb-104 {
    margin-bottom: var(--sp-104);
}
.u-ml-104 {
    margin-left: var(--sp-104);
}
.u-mr-104 {
    margin-right: var(--sp-104);
}
.u-p-106 {
    padding: var(--sp-106);
}
.u-px-106 {
    padding-left: var(--sp-106);
    padding-right: var(--sp-106);
}
.u-py-106 {
    padding-top: var(--sp-106);
    padding-bottom: var(--sp-106);
}
.u-pt-106 {
    padding-top: var(--sp-106);
}
.u-pb-106 {
    padding-bottom: var(--sp-106);
}
.u-pl-106 {
    padding-left: var(--sp-106);
}
.u-pr-106 {
    padding-right: var(--sp-106);
}
.u-m-106 {
    margin: var(--sp-106);
}
.u-mx-106 {
    margin-left: var(--sp-106);
    margin-right: var(--sp-106);
}
.u-my-106 {
    margin-top: var(--sp-106);
    margin-bottom: var(--sp-106);
}
.u-mt-106 {
    margin-top: var(--sp-106);
}
.u-mb-106 {
    margin-bottom: var(--sp-106);
}
.u-ml-106 {
    margin-left: var(--sp-106);
}
.u-mr-106 {
    margin-right: var(--sp-106);
}
.u-p-108 {
    padding: var(--sp-108);
}
.u-px-108 {
    padding-left: var(--sp-108);
    padding-right: var(--sp-108);
}
.u-py-108 {
    padding-top: var(--sp-108);
    padding-bottom: var(--sp-108);
}
.u-pt-108 {
    padding-top: var(--sp-108);
}
.u-pb-108 {
    padding-bottom: var(--sp-108);
}
.u-pl-108 {
    padding-left: var(--sp-108);
}
.u-pr-108 {
    padding-right: var(--sp-108);
}
.u-m-108 {
    margin: var(--sp-108);
}
.u-mx-108 {
    margin-left: var(--sp-108);
    margin-right: var(--sp-108);
}
.u-my-108 {
    margin-top: var(--sp-108);
    margin-bottom: var(--sp-108);
}
.u-mt-108 {
    margin-top: var(--sp-108);
}
.u-mb-108 {
    margin-bottom: var(--sp-108);
}
.u-ml-108 {
    margin-left: var(--sp-108);
}
.u-mr-108 {
    margin-right: var(--sp-108);
}
.u-p-110 {
    padding: var(--sp-110);
}
.u-px-110 {
    padding-left: var(--sp-110);
    padding-right: var(--sp-110);
}
.u-py-110 {
    padding-top: var(--sp-110);
    padding-bottom: var(--sp-110);
}
.u-pt-110 {
    padding-top: var(--sp-110);
}
.u-pb-110 {
    padding-bottom: var(--sp-110);
}
.u-pl-110 {
    padding-left: var(--sp-110);
}
.u-pr-110 {
    padding-right: var(--sp-110);
}
.u-m-110 {
    margin: var(--sp-110);
}
.u-mx-110 {
    margin-left: var(--sp-110);
    margin-right: var(--sp-110);
}
.u-my-110 {
    margin-top: var(--sp-110);
    margin-bottom: var(--sp-110);
}
.u-mt-110 {
    margin-top: var(--sp-110);
}
.u-mb-110 {
    margin-bottom: var(--sp-110);
}
.u-ml-110 {
    margin-left: var(--sp-110);
}
.u-mr-110 {
    margin-right: var(--sp-110);
}
.u-p-112 {
    padding: var(--sp-112);
}
.u-px-112 {
    padding-left: var(--sp-112);
    padding-right: var(--sp-112);
}
.u-py-112 {
    padding-top: var(--sp-112);
    padding-bottom: var(--sp-112);
}
.u-pt-112 {
    padding-top: var(--sp-112);
}
.u-pb-112 {
    padding-bottom: var(--sp-112);
}
.u-pl-112 {
    padding-left: var(--sp-112);
}
.u-pr-112 {
    padding-right: var(--sp-112);
}
.u-m-112 {
    margin: var(--sp-112);
}
.u-mx-112 {
    margin-left: var(--sp-112);
    margin-right: var(--sp-112);
}
.u-my-112 {
    margin-top: var(--sp-112);
    margin-bottom: var(--sp-112);
}
.u-mt-112 {
    margin-top: var(--sp-112);
}
.u-mb-112 {
    margin-bottom: var(--sp-112);
}
.u-ml-112 {
    margin-left: var(--sp-112);
}
.u-mr-112 {
    margin-right: var(--sp-112);
}
.u-p-114 {
    padding: var(--sp-114);
}
.u-px-114 {
    padding-left: var(--sp-114);
    padding-right: var(--sp-114);
}
.u-py-114 {
    padding-top: var(--sp-114);
    padding-bottom: var(--sp-114);
}
.u-pt-114 {
    padding-top: var(--sp-114);
}
.u-pb-114 {
    padding-bottom: var(--sp-114);
}
.u-pl-114 {
    padding-left: var(--sp-114);
}
.u-pr-114 {
    padding-right: var(--sp-114);
}
.u-m-114 {
    margin: var(--sp-114);
}
.u-mx-114 {
    margin-left: var(--sp-114);
    margin-right: var(--sp-114);
}
.u-my-114 {
    margin-top: var(--sp-114);
    margin-bottom: var(--sp-114);
}
.u-mt-114 {
    margin-top: var(--sp-114);
}
.u-mb-114 {
    margin-bottom: var(--sp-114);
}
.u-ml-114 {
    margin-left: var(--sp-114);
}
.u-mr-114 {
    margin-right: var(--sp-114);
}
.u-p-116 {
    padding: var(--sp-116);
}
.u-px-116 {
    padding-left: var(--sp-116);
    padding-right: var(--sp-116);
}
.u-py-116 {
    padding-top: var(--sp-116);
    padding-bottom: var(--sp-116);
}
.u-pt-116 {
    padding-top: var(--sp-116);
}
.u-pb-116 {
    padding-bottom: var(--sp-116);
}
.u-pl-116 {
    padding-left: var(--sp-116);
}
.u-pr-116 {
    padding-right: var(--sp-116);
}
.u-m-116 {
    margin: var(--sp-116);
}
.u-mx-116 {
    margin-left: var(--sp-116);
    margin-right: var(--sp-116);
}
.u-my-116 {
    margin-top: var(--sp-116);
    margin-bottom: var(--sp-116);
}
.u-mt-116 {
    margin-top: var(--sp-116);
}
.u-mb-116 {
    margin-bottom: var(--sp-116);
}
.u-ml-116 {
    margin-left: var(--sp-116);
}
.u-mr-116 {
    margin-right: var(--sp-116);
}
.u-p-118 {
    padding: var(--sp-118);
}
.u-px-118 {
    padding-left: var(--sp-118);
    padding-right: var(--sp-118);
}
.u-py-118 {
    padding-top: var(--sp-118);
    padding-bottom: var(--sp-118);
}
.u-pt-118 {
    padding-top: var(--sp-118);
}
.u-pb-118 {
    padding-bottom: var(--sp-118);
}
.u-pl-118 {
    padding-left: var(--sp-118);
}
.u-pr-118 {
    padding-right: var(--sp-118);
}
.u-m-118 {
    margin: var(--sp-118);
}
.u-mx-118 {
    margin-left: var(--sp-118);
    margin-right: var(--sp-118);
}
.u-my-118 {
    margin-top: var(--sp-118);
    margin-bottom: var(--sp-118);
}
.u-mt-118 {
    margin-top: var(--sp-118);
}
.u-mb-118 {
    margin-bottom: var(--sp-118);
}
.u-ml-118 {
    margin-left: var(--sp-118);
}
.u-mr-118 {
    margin-right: var(--sp-118);
}
.u-p-120 {
    padding: var(--sp-120);
}
.u-px-120 {
    padding-left: var(--sp-120);
    padding-right: var(--sp-120);
}
.u-py-120 {
    padding-top: var(--sp-120);
    padding-bottom: var(--sp-120);
}
.u-pt-120 {
    padding-top: var(--sp-120);
}
.u-pb-120 {
    padding-bottom: var(--sp-120);
}
.u-pl-120 {
    padding-left: var(--sp-120);
}
.u-pr-120 {
    padding-right: var(--sp-120);
}
.u-m-120 {
    margin: var(--sp-120);
}
.u-mx-120 {
    margin-left: var(--sp-120);
    margin-right: var(--sp-120);
}
.u-my-120 {
    margin-top: var(--sp-120);
    margin-bottom: var(--sp-120);
}
.u-mt-120 {
    margin-top: var(--sp-120);
}
.u-mb-120 {
    margin-bottom: var(--sp-120);
}
.u-ml-120 {
    margin-left: var(--sp-120);
}
.u-mr-120 {
    margin-right: var(--sp-120);
}
.u-p-125 {
    padding: var(--sp-125);
}
.u-px-125 {
    padding-left: var(--sp-125);
    padding-right: var(--sp-125);
}
.u-py-125 {
    padding-top: var(--sp-125);
    padding-bottom: var(--sp-125);
}
.u-pt-125 {
    padding-top: var(--sp-125);
}
.u-pb-125 {
    padding-bottom: var(--sp-125);
}
.u-pl-125 {
    padding-left: var(--sp-125);
}
.u-pr-125 {
    padding-right: var(--sp-125);
}
.u-m-125 {
    margin: var(--sp-125);
}
.u-mx-125 {
    margin-left: var(--sp-125);
    margin-right: var(--sp-125);
}
.u-my-125 {
    margin-top: var(--sp-125);
    margin-bottom: var(--sp-125);
}
.u-mt-125 {
    margin-top: var(--sp-125);
}
.u-mb-125 {
    margin-bottom: var(--sp-125);
}
.u-ml-125 {
    margin-left: var(--sp-125);
}
.u-mr-125 {
    margin-right: var(--sp-125);
}
.u-p-130 {
    padding: var(--sp-130);
}
.u-px-130 {
    padding-left: var(--sp-130);
    padding-right: var(--sp-130);
}
.u-py-130 {
    padding-top: var(--sp-130);
    padding-bottom: var(--sp-130);
}
.u-pt-130 {
    padding-top: var(--sp-130);
}
.u-pb-130 {
    padding-bottom: var(--sp-130);
}
.u-pl-130 {
    padding-left: var(--sp-130);
}
.u-pr-130 {
    padding-right: var(--sp-130);
}
.u-m-130 {
    margin: var(--sp-130);
}
.u-mx-130 {
    margin-left: var(--sp-130);
    margin-right: var(--sp-130);
}
.u-my-130 {
    margin-top: var(--sp-130);
    margin-bottom: var(--sp-130);
}
.u-mt-130 {
    margin-top: var(--sp-130);
}
.u-mb-130 {
    margin-bottom: var(--sp-130);
}
.u-ml-130 {
    margin-left: var(--sp-130);
}
.u-mr-130 {
    margin-right: var(--sp-130);
}
.u-p-135 {
    padding: var(--sp-135);
}
.u-px-135 {
    padding-left: var(--sp-135);
    padding-right: var(--sp-135);
}
.u-py-135 {
    padding-top: var(--sp-135);
    padding-bottom: var(--sp-135);
}
.u-pt-135 {
    padding-top: var(--sp-135);
}
.u-pb-135 {
    padding-bottom: var(--sp-135);
}
.u-pl-135 {
    padding-left: var(--sp-135);
}
.u-pr-135 {
    padding-right: var(--sp-135);
}
.u-m-135 {
    margin: var(--sp-135);
}
.u-mx-135 {
    margin-left: var(--sp-135);
    margin-right: var(--sp-135);
}
.u-my-135 {
    margin-top: var(--sp-135);
    margin-bottom: var(--sp-135);
}
.u-mt-135 {
    margin-top: var(--sp-135);
}
.u-mb-135 {
    margin-bottom: var(--sp-135);
}
.u-ml-135 {
    margin-left: var(--sp-135);
}
.u-mr-135 {
    margin-right: var(--sp-135);
}
.u-p-140 {
    padding: var(--sp-140);
}
.u-px-140 {
    padding-left: var(--sp-140);
    padding-right: var(--sp-140);
}
.u-py-140 {
    padding-top: var(--sp-140);
    padding-bottom: var(--sp-140);
}
.u-pt-140 {
    padding-top: var(--sp-140);
}
.u-pb-140 {
    padding-bottom: var(--sp-140);
}
.u-pl-140 {
    padding-left: var(--sp-140);
}
.u-pr-140 {
    padding-right: var(--sp-140);
}
.u-m-140 {
    margin: var(--sp-140);
}
.u-mx-140 {
    margin-left: var(--sp-140);
    margin-right: var(--sp-140);
}
.u-my-140 {
    margin-top: var(--sp-140);
    margin-bottom: var(--sp-140);
}
.u-mt-140 {
    margin-top: var(--sp-140);
}
.u-mb-140 {
    margin-bottom: var(--sp-140);
}
.u-ml-140 {
    margin-left: var(--sp-140);
}
.u-mr-140 {
    margin-right: var(--sp-140);
}
.u-p-145 {
    padding: var(--sp-145);
}
.u-px-145 {
    padding-left: var(--sp-145);
    padding-right: var(--sp-145);
}
.u-py-145 {
    padding-top: var(--sp-145);
    padding-bottom: var(--sp-145);
}
.u-pt-145 {
    padding-top: var(--sp-145);
}
.u-pb-145 {
    padding-bottom: var(--sp-145);
}
.u-pl-145 {
    padding-left: var(--sp-145);
}
.u-pr-145 {
    padding-right: var(--sp-145);
}
.u-m-145 {
    margin: var(--sp-145);
}
.u-mx-145 {
    margin-left: var(--sp-145);
    margin-right: var(--sp-145);
}
.u-my-145 {
    margin-top: var(--sp-145);
    margin-bottom: var(--sp-145);
}
.u-mt-145 {
    margin-top: var(--sp-145);
}
.u-mb-145 {
    margin-bottom: var(--sp-145);
}
.u-ml-145 {
    margin-left: var(--sp-145);
}
.u-mr-145 {
    margin-right: var(--sp-145);
}
.u-p-150 {
    padding: var(--sp-150);
}
.u-px-150 {
    padding-left: var(--sp-150);
    padding-right: var(--sp-150);
}
.u-py-150 {
    padding-top: var(--sp-150);
    padding-bottom: var(--sp-150);
}
.u-pt-150 {
    padding-top: var(--sp-150);
}
.u-pb-150 {
    padding-bottom: var(--sp-150);
}
.u-pl-150 {
    padding-left: var(--sp-150);
}
.u-pr-150 {
    padding-right: var(--sp-150);
}
.u-m-150 {
    margin: var(--sp-150);
}
.u-mx-150 {
    margin-left: var(--sp-150);
    margin-right: var(--sp-150);
}
.u-my-150 {
    margin-top: var(--sp-150);
    margin-bottom: var(--sp-150);
}
.u-mt-150 {
    margin-top: var(--sp-150);
}
.u-mb-150 {
    margin-bottom: var(--sp-150);
}
.u-ml-150 {
    margin-left: var(--sp-150);
}
.u-mr-150 {
    margin-right: var(--sp-150);
}
.u-p-155 {
    padding: var(--sp-155);
}
.u-px-155 {
    padding-left: var(--sp-155);
    padding-right: var(--sp-155);
}
.u-py-155 {
    padding-top: var(--sp-155);
    padding-bottom: var(--sp-155);
}
.u-pt-155 {
    padding-top: var(--sp-155);
}
.u-pb-155 {
    padding-bottom: var(--sp-155);
}
.u-pl-155 {
    padding-left: var(--sp-155);
}
.u-pr-155 {
    padding-right: var(--sp-155);
}
.u-m-155 {
    margin: var(--sp-155);
}
.u-mx-155 {
    margin-left: var(--sp-155);
    margin-right: var(--sp-155);
}
.u-my-155 {
    margin-top: var(--sp-155);
    margin-bottom: var(--sp-155);
}
.u-mt-155 {
    margin-top: var(--sp-155);
}
.u-mb-155 {
    margin-bottom: var(--sp-155);
}
.u-ml-155 {
    margin-left: var(--sp-155);
}
.u-mr-155 {
    margin-right: var(--sp-155);
}
.u-p-160 {
    padding: var(--sp-160);
}
.u-px-160 {
    padding-left: var(--sp-160);
    padding-right: var(--sp-160);
}
.u-py-160 {
    padding-top: var(--sp-160);
    padding-bottom: var(--sp-160);
}
.u-pt-160 {
    padding-top: var(--sp-160);
}
.u-pb-160 {
    padding-bottom: var(--sp-160);
}
.u-pl-160 {
    padding-left: var(--sp-160);
}
.u-pr-160 {
    padding-right: var(--sp-160);
}
.u-m-160 {
    margin: var(--sp-160);
}
.u-mx-160 {
    margin-left: var(--sp-160);
    margin-right: var(--sp-160);
}
.u-my-160 {
    margin-top: var(--sp-160);
    margin-bottom: var(--sp-160);
}
.u-mt-160 {
    margin-top: var(--sp-160);
}
.u-mb-160 {
    margin-bottom: var(--sp-160);
}
.u-ml-160 {
    margin-left: var(--sp-160);
}
.u-mr-160 {
    margin-right: var(--sp-160);
}
.u-p-165 {
    padding: var(--sp-165);
}
.u-px-165 {
    padding-left: var(--sp-165);
    padding-right: var(--sp-165);
}
.u-py-165 {
    padding-top: var(--sp-165);
    padding-bottom: var(--sp-165);
}
.u-pt-165 {
    padding-top: var(--sp-165);
}
.u-pb-165 {
    padding-bottom: var(--sp-165);
}
.u-pl-165 {
    padding-left: var(--sp-165);
}
.u-pr-165 {
    padding-right: var(--sp-165);
}
.u-m-165 {
    margin: var(--sp-165);
}
.u-mx-165 {
    margin-left: var(--sp-165);
    margin-right: var(--sp-165);
}
.u-my-165 {
    margin-top: var(--sp-165);
    margin-bottom: var(--sp-165);
}
.u-mt-165 {
    margin-top: var(--sp-165);
}
.u-mb-165 {
    margin-bottom: var(--sp-165);
}
.u-ml-165 {
    margin-left: var(--sp-165);
}
.u-mr-165 {
    margin-right: var(--sp-165);
}
.u-p-170 {
    padding: var(--sp-170);
}
.u-px-170 {
    padding-left: var(--sp-170);
    padding-right: var(--sp-170);
}
.u-py-170 {
    padding-top: var(--sp-170);
    padding-bottom: var(--sp-170);
}
.u-pt-170 {
    padding-top: var(--sp-170);
}
.u-pb-170 {
    padding-bottom: var(--sp-170);
}
.u-pl-170 {
    padding-left: var(--sp-170);
}
.u-pr-170 {
    padding-right: var(--sp-170);
}
.u-m-170 {
    margin: var(--sp-170);
}
.u-mx-170 {
    margin-left: var(--sp-170);
    margin-right: var(--sp-170);
}
.u-my-170 {
    margin-top: var(--sp-170);
    margin-bottom: var(--sp-170);
}
.u-mt-170 {
    margin-top: var(--sp-170);
}
.u-mb-170 {
    margin-bottom: var(--sp-170);
}
.u-ml-170 {
    margin-left: var(--sp-170);
}
.u-mr-170 {
    margin-right: var(--sp-170);
}
.u-p-175 {
    padding: var(--sp-175);
}
.u-px-175 {
    padding-left: var(--sp-175);
    padding-right: var(--sp-175);
}
.u-py-175 {
    padding-top: var(--sp-175);
    padding-bottom: var(--sp-175);
}
.u-pt-175 {
    padding-top: var(--sp-175);
}
.u-pb-175 {
    padding-bottom: var(--sp-175);
}
.u-pl-175 {
    padding-left: var(--sp-175);
}
.u-pr-175 {
    padding-right: var(--sp-175);
}
.u-m-175 {
    margin: var(--sp-175);
}
.u-mx-175 {
    margin-left: var(--sp-175);
    margin-right: var(--sp-175);
}
.u-my-175 {
    margin-top: var(--sp-175);
    margin-bottom: var(--sp-175);
}
.u-mt-175 {
    margin-top: var(--sp-175);
}
.u-mb-175 {
    margin-bottom: var(--sp-175);
}
.u-ml-175 {
    margin-left: var(--sp-175);
}
.u-mr-175 {
    margin-right: var(--sp-175);
}
.u-p-180 {
    padding: var(--sp-180);
}
.u-px-180 {
    padding-left: var(--sp-180);
    padding-right: var(--sp-180);
}
.u-py-180 {
    padding-top: var(--sp-180);
    padding-bottom: var(--sp-180);
}
.u-pt-180 {
    padding-top: var(--sp-180);
}
.u-pb-180 {
    padding-bottom: var(--sp-180);
}
.u-pl-180 {
    padding-left: var(--sp-180);
}
.u-pr-180 {
    padding-right: var(--sp-180);
}
.u-m-180 {
    margin: var(--sp-180);
}
.u-mx-180 {
    margin-left: var(--sp-180);
    margin-right: var(--sp-180);
}
.u-my-180 {
    margin-top: var(--sp-180);
    margin-bottom: var(--sp-180);
}
.u-mt-180 {
    margin-top: var(--sp-180);
}
.u-mb-180 {
    margin-bottom: var(--sp-180);
}
.u-ml-180 {
    margin-left: var(--sp-180);
}
.u-mr-180 {
    margin-right: var(--sp-180);
}
.u-p-185 {
    padding: var(--sp-185);
}
.u-px-185 {
    padding-left: var(--sp-185);
    padding-right: var(--sp-185);
}
.u-py-185 {
    padding-top: var(--sp-185);
    padding-bottom: var(--sp-185);
}
.u-pt-185 {
    padding-top: var(--sp-185);
}
.u-pb-185 {
    padding-bottom: var(--sp-185);
}
.u-pl-185 {
    padding-left: var(--sp-185);
}
.u-pr-185 {
    padding-right: var(--sp-185);
}
.u-m-185 {
    margin: var(--sp-185);
}
.u-mx-185 {
    margin-left: var(--sp-185);
    margin-right: var(--sp-185);
}
.u-my-185 {
    margin-top: var(--sp-185);
    margin-bottom: var(--sp-185);
}
.u-mt-185 {
    margin-top: var(--sp-185);
}
.u-mb-185 {
    margin-bottom: var(--sp-185);
}
.u-ml-185 {
    margin-left: var(--sp-185);
}
.u-mr-185 {
    margin-right: var(--sp-185);
}
.u-p-190 {
    padding: var(--sp-190);
}
.u-px-190 {
    padding-left: var(--sp-190);
    padding-right: var(--sp-190);
}
.u-py-190 {
    padding-top: var(--sp-190);
    padding-bottom: var(--sp-190);
}
.u-pt-190 {
    padding-top: var(--sp-190);
}
.u-pb-190 {
    padding-bottom: var(--sp-190);
}
.u-pl-190 {
    padding-left: var(--sp-190);
}
.u-pr-190 {
    padding-right: var(--sp-190);
}
.u-m-190 {
    margin: var(--sp-190);
}
.u-mx-190 {
    margin-left: var(--sp-190);
    margin-right: var(--sp-190);
}
.u-my-190 {
    margin-top: var(--sp-190);
    margin-bottom: var(--sp-190);
}
.u-mt-190 {
    margin-top: var(--sp-190);
}
.u-mb-190 {
    margin-bottom: var(--sp-190);
}
.u-ml-190 {
    margin-left: var(--sp-190);
}
.u-mr-190 {
    margin-right: var(--sp-190);
}
.u-p-195 {
    padding: var(--sp-195);
}
.u-px-195 {
    padding-left: var(--sp-195);
    padding-right: var(--sp-195);
}
.u-py-195 {
    padding-top: var(--sp-195);
    padding-bottom: var(--sp-195);
}
.u-pt-195 {
    padding-top: var(--sp-195);
}
.u-pb-195 {
    padding-bottom: var(--sp-195);
}
.u-pl-195 {
    padding-left: var(--sp-195);
}
.u-pr-195 {
    padding-right: var(--sp-195);
}
.u-m-195 {
    margin: var(--sp-195);
}
.u-mx-195 {
    margin-left: var(--sp-195);
    margin-right: var(--sp-195);
}
.u-my-195 {
    margin-top: var(--sp-195);
    margin-bottom: var(--sp-195);
}
.u-mt-195 {
    margin-top: var(--sp-195);
}
.u-mb-195 {
    margin-bottom: var(--sp-195);
}
.u-ml-195 {
    margin-left: var(--sp-195);
}
.u-mr-195 {
    margin-right: var(--sp-195);
}
.u-p-200 {
    padding: var(--sp-200);
}
.u-px-200 {
    padding-left: var(--sp-200);
    padding-right: var(--sp-200);
}
.u-py-200 {
    padding-top: var(--sp-200);
    padding-bottom: var(--sp-200);
}
.u-pt-200 {
    padding-top: var(--sp-200);
}
.u-pb-200 {
    padding-bottom: var(--sp-200);
}
.u-pl-200 {
    padding-left: var(--sp-200);
}
.u-pr-200 {
    padding-right: var(--sp-200);
}
.u-m-200 {
    margin: var(--sp-200);
}
.u-mx-200 {
    margin-left: var(--sp-200);
    margin-right: var(--sp-200);
}
.u-my-200 {
    margin-top: var(--sp-200);
    margin-bottom: var(--sp-200);
}
.u-mt-200 {
    margin-top: var(--sp-200);
}
.u-mb-200 {
    margin-bottom: var(--sp-200);
}
.u-ml-200 {
    margin-left: var(--sp-200);
}
.u-mr-200 {
    margin-right: var(--sp-200);
}
.u-p-205 {
    padding: var(--sp-205);
}
.u-px-205 {
    padding-left: var(--sp-205);
    padding-right: var(--sp-205);
}
.u-py-205 {
    padding-top: var(--sp-205);
    padding-bottom: var(--sp-205);
}
.u-pt-205 {
    padding-top: var(--sp-205);
}
.u-pb-205 {
    padding-bottom: var(--sp-205);
}
.u-pl-205 {
    padding-left: var(--sp-205);
}
.u-pr-205 {
    padding-right: var(--sp-205);
}
.u-m-205 {
    margin: var(--sp-205);
}
.u-mx-205 {
    margin-left: var(--sp-205);
    margin-right: var(--sp-205);
}
.u-my-205 {
    margin-top: var(--sp-205);
    margin-bottom: var(--sp-205);
}
.u-mt-205 {
    margin-top: var(--sp-205);
}
.u-mb-205 {
    margin-bottom: var(--sp-205);
}
.u-ml-205 {
    margin-left: var(--sp-205);
}
.u-mr-205 {
    margin-right: var(--sp-205);
}
.u-p-210 {
    padding: var(--sp-210);
}
.u-px-210 {
    padding-left: var(--sp-210);
    padding-right: var(--sp-210);
}
.u-py-210 {
    padding-top: var(--sp-210);
    padding-bottom: var(--sp-210);
}
.u-pt-210 {
    padding-top: var(--sp-210);
}
.u-pb-210 {
    padding-bottom: var(--sp-210);
}
.u-pl-210 {
    padding-left: var(--sp-210);
}
.u-pr-210 {
    padding-right: var(--sp-210);
}
.u-m-210 {
    margin: var(--sp-210);
}
.u-mx-210 {
    margin-left: var(--sp-210);
    margin-right: var(--sp-210);
}
.u-my-210 {
    margin-top: var(--sp-210);
    margin-bottom: var(--sp-210);
}
.u-mt-210 {
    margin-top: var(--sp-210);
}
.u-mb-210 {
    margin-bottom: var(--sp-210);
}
.u-ml-210 {
    margin-left: var(--sp-210);
}
.u-mr-210 {
    margin-right: var(--sp-210);
}
.u-p-215 {
    padding: var(--sp-215);
}
.u-px-215 {
    padding-left: var(--sp-215);
    padding-right: var(--sp-215);
}
.u-py-215 {
    padding-top: var(--sp-215);
    padding-bottom: var(--sp-215);
}
.u-pt-215 {
    padding-top: var(--sp-215);
}
.u-pb-215 {
    padding-bottom: var(--sp-215);
}
.u-pl-215 {
    padding-left: var(--sp-215);
}
.u-pr-215 {
    padding-right: var(--sp-215);
}
.u-m-215 {
    margin: var(--sp-215);
}
.u-mx-215 {
    margin-left: var(--sp-215);
    margin-right: var(--sp-215);
}
.u-my-215 {
    margin-top: var(--sp-215);
    margin-bottom: var(--sp-215);
}
.u-mt-215 {
    margin-top: var(--sp-215);
}
.u-mb-215 {
    margin-bottom: var(--sp-215);
}
.u-ml-215 {
    margin-left: var(--sp-215);
}
.u-mr-215 {
    margin-right: var(--sp-215);
}
.u-p-220 {
    padding: var(--sp-220);
}
.u-px-220 {
    padding-left: var(--sp-220);
    padding-right: var(--sp-220);
}
.u-py-220 {
    padding-top: var(--sp-220);
    padding-bottom: var(--sp-220);
}
.u-pt-220 {
    padding-top: var(--sp-220);
}
.u-pb-220 {
    padding-bottom: var(--sp-220);
}
.u-pl-220 {
    padding-left: var(--sp-220);
}
.u-pr-220 {
    padding-right: var(--sp-220);
}
.u-m-220 {
    margin: var(--sp-220);
}
.u-mx-220 {
    margin-left: var(--sp-220);
    margin-right: var(--sp-220);
}
.u-my-220 {
    margin-top: var(--sp-220);
    margin-bottom: var(--sp-220);
}
.u-mt-220 {
    margin-top: var(--sp-220);
}
.u-mb-220 {
    margin-bottom: var(--sp-220);
}
.u-ml-220 {
    margin-left: var(--sp-220);
}
.u-mr-220 {
    margin-right: var(--sp-220);
}
.u-p-225 {
    padding: var(--sp-225);
}
.u-px-225 {
    padding-left: var(--sp-225);
    padding-right: var(--sp-225);
}
.u-py-225 {
    padding-top: var(--sp-225);
    padding-bottom: var(--sp-225);
}
.u-pt-225 {
    padding-top: var(--sp-225);
}
.u-pb-225 {
    padding-bottom: var(--sp-225);
}
.u-pl-225 {
    padding-left: var(--sp-225);
}
.u-pr-225 {
    padding-right: var(--sp-225);
}
.u-m-225 {
    margin: var(--sp-225);
}
.u-mx-225 {
    margin-left: var(--sp-225);
    margin-right: var(--sp-225);
}
.u-my-225 {
    margin-top: var(--sp-225);
    margin-bottom: var(--sp-225);
}
.u-mt-225 {
    margin-top: var(--sp-225);
}
.u-mb-225 {
    margin-bottom: var(--sp-225);
}
.u-ml-225 {
    margin-left: var(--sp-225);
}
.u-mr-225 {
    margin-right: var(--sp-225);
}
.u-p-230 {
    padding: var(--sp-230);
}
.u-px-230 {
    padding-left: var(--sp-230);
    padding-right: var(--sp-230);
}
.u-py-230 {
    padding-top: var(--sp-230);
    padding-bottom: var(--sp-230);
}
.u-pt-230 {
    padding-top: var(--sp-230);
}
.u-pb-230 {
    padding-bottom: var(--sp-230);
}
.u-pl-230 {
    padding-left: var(--sp-230);
}
.u-pr-230 {
    padding-right: var(--sp-230);
}
.u-m-230 {
    margin: var(--sp-230);
}
.u-mx-230 {
    margin-left: var(--sp-230);
    margin-right: var(--sp-230);
}
.u-my-230 {
    margin-top: var(--sp-230);
    margin-bottom: var(--sp-230);
}
.u-mt-230 {
    margin-top: var(--sp-230);
}
.u-mb-230 {
    margin-bottom: var(--sp-230);
}
.u-ml-230 {
    margin-left: var(--sp-230);
}
.u-mr-230 {
    margin-right: var(--sp-230);
}
.u-p-235 {
    padding: var(--sp-235);
}
.u-px-235 {
    padding-left: var(--sp-235);
    padding-right: var(--sp-235);
}
.u-py-235 {
    padding-top: var(--sp-235);
    padding-bottom: var(--sp-235);
}
.u-pt-235 {
    padding-top: var(--sp-235);
}
.u-pb-235 {
    padding-bottom: var(--sp-235);
}
.u-pl-235 {
    padding-left: var(--sp-235);
}
.u-pr-235 {
    padding-right: var(--sp-235);
}
.u-m-235 {
    margin: var(--sp-235);
}
.u-mx-235 {
    margin-left: var(--sp-235);
    margin-right: var(--sp-235);
}
.u-my-235 {
    margin-top: var(--sp-235);
    margin-bottom: var(--sp-235);
}
.u-mt-235 {
    margin-top: var(--sp-235);
}
.u-mb-235 {
    margin-bottom: var(--sp-235);
}
.u-ml-235 {
    margin-left: var(--sp-235);
}
.u-mr-235 {
    margin-right: var(--sp-235);
}
.u-p-240 {
    padding: var(--sp-240);
}
.u-px-240 {
    padding-left: var(--sp-240);
    padding-right: var(--sp-240);
}
.u-py-240 {
    padding-top: var(--sp-240);
    padding-bottom: var(--sp-240);
}
.u-pt-240 {
    padding-top: var(--sp-240);
}
.u-pb-240 {
    padding-bottom: var(--sp-240);
}
.u-pl-240 {
    padding-left: var(--sp-240);
}
.u-pr-240 {
    padding-right: var(--sp-240);
}
.u-m-240 {
    margin: var(--sp-240);
}
.u-mx-240 {
    margin-left: var(--sp-240);
    margin-right: var(--sp-240);
}
.u-my-240 {
    margin-top: var(--sp-240);
    margin-bottom: var(--sp-240);
}
.u-mt-240 {
    margin-top: var(--sp-240);
}
.u-mb-240 {
    margin-bottom: var(--sp-240);
}
.u-ml-240 {
    margin-left: var(--sp-240);
}
.u-mr-240 {
    margin-right: var(--sp-240);
}
.u-p-245 {
    padding: var(--sp-245);
}
.u-px-245 {
    padding-left: var(--sp-245);
    padding-right: var(--sp-245);
}
.u-py-245 {
    padding-top: var(--sp-245);
    padding-bottom: var(--sp-245);
}
.u-pt-245 {
    padding-top: var(--sp-245);
}
.u-pb-245 {
    padding-bottom: var(--sp-245);
}
.u-pl-245 {
    padding-left: var(--sp-245);
}
.u-pr-245 {
    padding-right: var(--sp-245);
}
.u-m-245 {
    margin: var(--sp-245);
}
.u-mx-245 {
    margin-left: var(--sp-245);
    margin-right: var(--sp-245);
}
.u-my-245 {
    margin-top: var(--sp-245);
    margin-bottom: var(--sp-245);
}
.u-mt-245 {
    margin-top: var(--sp-245);
}
.u-mb-245 {
    margin-bottom: var(--sp-245);
}
.u-ml-245 {
    margin-left: var(--sp-245);
}
.u-mr-245 {
    margin-right: var(--sp-245);
}
.u-p-250 {
    padding: var(--sp-250);
}
.u-px-250 {
    padding-left: var(--sp-250);
    padding-right: var(--sp-250);
}
.u-py-250 {
    padding-top: var(--sp-250);
    padding-bottom: var(--sp-250);
}
.u-pt-250 {
    padding-top: var(--sp-250);
}
.u-pb-250 {
    padding-bottom: var(--sp-250);
}
.u-pl-250 {
    padding-left: var(--sp-250);
}
.u-pr-250 {
    padding-right: var(--sp-250);
}
.u-m-250 {
    margin: var(--sp-250);
}
.u-mx-250 {
    margin-left: var(--sp-250);
    margin-right: var(--sp-250);
}
.u-my-250 {
    margin-top: var(--sp-250);
    margin-bottom: var(--sp-250);
}
.u-mt-250 {
    margin-top: var(--sp-250);
}
.u-mb-250 {
    margin-bottom: var(--sp-250);
}
.u-ml-250 {
    margin-left: var(--sp-250);
}
.u-mr-250 {
    margin-right: var(--sp-250);
}

/* === Gap === */
.u-gap-82 {
    gap: var(--sp-82);
}
.u-gap-84 {
    gap: var(--sp-84);
}
.u-gap-86 {
    gap: var(--sp-86);
}
.u-gap-88 {
    gap: var(--sp-88);
}
.u-gap-90 {
    gap: var(--sp-90);
}
.u-gap-92 {
    gap: var(--sp-92);
}
.u-gap-94 {
    gap: var(--sp-94);
}
.u-gap-96 {
    gap: var(--sp-96);
}
.u-gap-98 {
    gap: var(--sp-98);
}
.u-gap-100 {
    gap: var(--sp-100);
}
.u-gap-102 {
    gap: var(--sp-102);
}
.u-gap-104 {
    gap: var(--sp-104);
}
.u-gap-106 {
    gap: var(--sp-106);
}
.u-gap-108 {
    gap: var(--sp-108);
}
.u-gap-110 {
    gap: var(--sp-110);
}
.u-gap-112 {
    gap: var(--sp-112);
}
.u-gap-114 {
    gap: var(--sp-114);
}
.u-gap-116 {
    gap: var(--sp-116);
}
.u-gap-118 {
    gap: var(--sp-118);
}
.u-gap-120 {
    gap: var(--sp-120);
}
.u-gap-125 {
    gap: var(--sp-125);
}
.u-gap-130 {
    gap: var(--sp-130);
}
.u-gap-135 {
    gap: var(--sp-135);
}
.u-gap-140 {
    gap: var(--sp-140);
}
.u-gap-145 {
    gap: var(--sp-145);
}
.u-gap-150 {
    gap: var(--sp-150);
}
.u-gap-155 {
    gap: var(--sp-155);
}
.u-gap-160 {
    gap: var(--sp-160);
}
.u-gap-165 {
    gap: var(--sp-165);
}
.u-gap-170 {
    gap: var(--sp-170);
}
.u-gap-175 {
    gap: var(--sp-175);
}
.u-gap-180 {
    gap: var(--sp-180);
}
.u-gap-185 {
    gap: var(--sp-185);
}
.u-gap-190 {
    gap: var(--sp-190);
}
.u-gap-195 {
    gap: var(--sp-195);
}
.u-gap-200 {
    gap: var(--sp-200);
}
.u-gap-205 {
    gap: var(--sp-205);
}
.u-gap-210 {
    gap: var(--sp-210);
}
.u-gap-215 {
    gap: var(--sp-215);
}
.u-gap-220 {
    gap: var(--sp-220);
}
.u-gap-225 {
    gap: var(--sp-225);
}
.u-gap-230 {
    gap: var(--sp-230);
}
.u-gap-235 {
    gap: var(--sp-235);
}
.u-gap-240 {
    gap: var(--sp-240);
}
.u-gap-245 {
    gap: var(--sp-245);
}
.u-gap-250 {
    gap: var(--sp-250);
}

/* === Border Radius 추가 === */
.u-round-14 {
    border-radius: var(--sp-14);
}

.u-round-18 {
    border-radius: var(--sp-18);
}

.u-round-22 {
    border-radius: var(--sp-22);
}

.u-round-26 {
    border-radius: var(--sp-26);
}

.u-round-28 {
    border-radius: var(--sp-28);
}

.u-round-32 {
    border-radius: var(--sp-32);
}

.u-round-34 {
    border-radius: var(--sp-34);
}

.u-round-36 {
    border-radius: var(--sp-36);
}

.u-round-38 {
    border-radius: var(--sp-38);
}

.u-round-42 {
    border-radius: var(--sp-42);
}

.u-round-44 {
    border-radius: var(--sp-44);
}

.u-round-46 {
    border-radius: var(--sp-46);
}

.u-round-48 {
    border-radius: var(--sp-48);
}

.u-round-70 {
    border-radius: var(--sp-70);
}

.u-round-80 {
    border-radius: var(--sp-80);
}

/* ############################################################
   [16] RESPONSIVE OVERRIDES — 반응형 오버라이드
   - Base (접두사 없음) : 1440px 이상 (기본값)
   - -lg                : 993px ~ 1439px
   - -sm                : ~992px
############################################################ */

/* ============================================================
   SM: max-width: 992px
============================================================ */
@media (max-width: 992px) {
    .u-fluid-xl-sm {
        width: 100vw;
    }
    .u-fluid-sm {
        width: 75vw;
        min-width: 320px;
        max-width: 1920px;
        /* 최소 320px / 평소엔 75vw / 최대 1440px */
        margin-left: auto;
        margin-right: auto;
    }

    .u-fluid-lg-sm {
        width: 87.5vw;
        min-width: 320px;
        margin-left: auto;
        margin-right: auto;
    }

    /* 타이틀 시스템 sm (t-fs-*-sm) */
    .t-fs-80-sm {
        font-size: 2.75rem !important;
        line-height: 1.1;
        font-weight: 800;
    }
    .t-fs-76-sm {
        font-size: 2.625rem !important;
        line-height: 1.1;
        font-weight: 800;
    }
    .t-fs-72-sm {
        font-size: 2.5rem !important;
        line-height: 1.1;
        font-weight: 800;
    }
    .t-fs-68-sm {
        font-size: 2.375rem !important;
        line-height: 1.1;
        font-weight: 800;
    }
    .t-fs-64-sm {
        font-size: 2.3rem !important;
        line-height: 1.1;
        font-weight: 800;
    }
    .t-fs-60-sm {
        font-size: 2.25rem !important;
        line-height: 1.1;
        font-weight: 800;
    }
    .t-fs-56-sm {
        font-size: 2.125rem !important;
        line-height: 1.1;
        font-weight: 800;
    }
    .t-fs-52-sm {
        font-size: 2rem !important;
        line-height: 1.1;
        font-weight: 800;
    }
    .t-fs-48-sm {
        font-size: 1.75rem !important;
        line-height: 1.2;
        font-weight: 700;
    }
    .t-fs-44-sm {
        font-size: 1.625rem !important;
        line-height: 1.2;
        font-weight: 700;
    }
    .t-fs-40-sm {
        font-size: 1.5rem !important;
        line-height: 1.2;
        font-weight: 700;
    }
    .t-fs-36-sm {
        font-size: 1.375rem !important;
        line-height: 1.3;
        font-weight: 700;
    }
    .t-fs-32-sm {
        font-size: 1.25rem !important;
        line-height: 1.4;
        font-weight: 700;
    }
    .t-fs-28-sm {
        font-size: 1.125rem !important;
        line-height: 1.4;
        font-weight: 700;
    }
    .t-fs-24-sm {
        font-size: 1.25rem !important;
        line-height: 1.4;
        font-weight: 700;
    }
    .t-fs-20-sm {
        font-size: 1.125rem !important;
        line-height: 1.5;
        font-weight: 700;
    }
    .t-fs-18-sm {
        font-size: 1.031rem !important;
        line-height: 1.5;
        font-weight: 700;
    }
    .t-fs-16-sm {
        font-size: 0.9375rem !important;
        line-height: 1.5;
        font-weight: 700;
    }
    .t-fs-14-sm {
        font-size: 0.875rem !important;
        line-height: 1.5;
        font-weight: 700;
    }
    .t-fs-12-sm {
        font-size: 0.75rem !important;
        line-height: 1.5;
        font-weight: 700;
    }
    .t-fs-10-sm {
        font-size: 0.625rem !important;
        line-height: 1.5;
        font-weight: 700;
    }
    .t-fs-8-sm {
        font-size: 0.5rem !important;
        line-height: 1.5;
        font-weight: 700;
    }
    .t-fs-6-sm {
        font-size: 0.375rem !important;
        line-height: 1.5;
        font-weight: 700;
    }
    .t-fs-4-sm {
        font-size: 0.25rem !important;
        line-height: 1.5;
        font-weight: 700;
    }

    /* 본문 시스템 sm (c-fs-*-sm) */
    .c-fs-80-sm {
        font-size: 2.75rem !important;
        line-height: 1.3;
    }
    .c-fs-76-sm {
        font-size: 2.625rem !important;
        line-height: 1.3;
    }
    .c-fs-72-sm {
        font-size: 2.5rem !important;
        line-height: 1.3;
    }
    .c-fs-68-sm {
        font-size: 2.375rem !important;
        line-height: 1.3;
    }
    .c-fs-64-sm {
        font-size: 2.3rem !important;
        line-height: 1.3;
    }
    .c-fs-60-sm {
        font-size: 2.25rem !important;
        line-height: 1.3;
    }
    .c-fs-56-sm {
        font-size: 2.125rem !important;
        line-height: 1.4;
    }
    .c-fs-52-sm {
        font-size: 2rem !important;
        line-height: 1.4;
    }
    .c-fs-48-sm {
        font-size: 1.75rem !important;
        line-height: 1.4;
    }
    .c-fs-44-sm {
        font-size: 1.625rem !important;
        line-height: 1.4;
    }
    .c-fs-40-sm {
        font-size: 1.5rem !important;
        line-height: 1.4;
    }
    .c-fs-36-sm {
        font-size: 1.375rem !important;
        line-height: 1.4;
    }
    .c-fs-32-sm {
        font-size: 1.5rem !important;
        line-height: 1.4;
    }
    .c-fs-28-sm {
        font-size: 1.375rem !important;
        line-height: 1.4;
    }
    .c-fs-24-sm {
        font-size: 1.25rem !important;
        line-height: 1.5;
    }
    .c-fs-20-sm {
        font-size: 1.125rem !important;
        line-height: 1.5;
    }
    .c-fs-18-sm {
        font-size: 1.0625rem !important;
        line-height: 1.6;
    }
    .c-fs-16-sm {
        font-size: 0.9375rem !important;
        line-height: 1.6;
    }
    .c-fs-14-sm {
        font-size: 0.8125rem !important;
        line-height: 1.6;
    }
    .c-fs-12-sm {
        font-size: 0.75rem !important;
        line-height: 1.6;
    }
    .c-fs-10-sm {
        font-size: 0.625rem !important;
        line-height: 1.6;
    }
    .c-fs-8-sm {
        font-size: 0.5rem !important;
        line-height: 1.6;
    }
    .c-fs-6-sm {
        font-size: 0.375rem !important;
        line-height: 1.6;
    }
    .c-fs-4-sm {
        font-size: 0.25rem !important;
        line-height: 1.6;
    }

    .w-normal-sm {
        white-space: normal !important;
    }

    .flex-1-sm {
        flex: 1 !important;
    }
    .flex-50-sm {
        flex: 0 0 50% !important;
    }
    .flex-33-sm {
        flex: 0 0 33% !important;
    }
    .flex-25-sm {
        flex: 0 0 25% !important;
    }
    .flex-125-sm {
        flex: 0 0 12.5% !important;
    }

    .g-flexible-1-sm {
        --g-flex: 100% !important;
    }

    .g-flexible-2-sm {
        --g-flex: 50% !important;
    }
    .g-flexible-3-sm {
        --g-flex: 33.33% !important;
    }
    .g-flexible-4-sm {
        --g-flex: 25% !important;
    }

    .u-mb-0-sm {
        margin-bottom: 0 !important;
    }
    .u-mb-4-sm {
        margin-bottom: var(--sp-4) !important;
    }
    .u-mb-6-sm {
        margin-bottom: var(--sp-6) !important;
    }
    .u-mb-8-sm {
        margin-bottom: var(--sp-8) !important;
    }
    .u-mb-10-sm {
        margin-bottom: var(--sp-10) !important;
    }
    .u-mb-12-sm {
        margin-bottom: var(--sp-12) !important;
    }
    .u-mb-14-sm {
        margin-bottom: var(--sp-14) !important;
    }
    .u-mb-16-sm {
        margin-bottom: var(--sp-16) !important;
    }
    .u-mb-18-sm {
        margin-bottom: var(--sp-18) !important;
    }
    .u-mb-20-sm {
        margin-bottom: var(--sp-20) !important;
    }
    .u-mb-24-sm {
        margin-bottom: var(--sp-24) !important;
    }
    .u-mb-28-sm {
        margin-bottom: var(--sp-28) !important;
    }
    .u-mb-30-sm {
        margin-bottom: var(--sp-30) !important;
    }
    .u-mb-32-sm {
        margin-bottom: var(--sp-32) !important;
    }
    .u-mb-36-sm {
        margin-bottom: var(--sp-36) !important;
    }
    .u-mb-40-sm {
        margin-bottom: var(--sp-40) !important;
    }
    .u-mb-44-sm {
        margin-bottom: var(--sp-44) !important;
    }
    .u-mb-48-sm {
        margin-bottom: var(--sp-48) !important;
    }
    .u-mb-52-sm {
        margin-bottom: var(--sp-52) !important;
    }
    .u-mb-56-sm {
        margin-bottom: var(--sp-56) !important;
    }
    .u-mb-60-sm {
        margin-bottom: var(--sp-60) !important;
    }
    .u-mb-64-sm {
        margin-bottom: var(--sp-64) !important;
    }
    .u-mb-68-sm {
        margin-bottom: var(--sp-68) !important;
    }
    .u-mb-72-sm {
        margin-bottom: var(--sp-72) !important;
    }
    .u-mb-76-sm {
        margin-bottom: var(--sp-76) !important;
    }
    .u-mb-80-sm {
        margin-bottom: var(--sp-80) !important;
    }
    .u-mb-auto-sm {
        margin-bottom: auto !important;
    }

    .u-ratio-16-9-sm {
        aspect-ratio: 16 / 9 !important;
    }
    .u-ratio-7-6-sm {
        aspect-ratio: 7 / 6 !important;
    }
    .u-ratio-4-3-sm {
        aspect-ratio: 4 / 3 !important;
    }
    .u-ratio-3-4-sm {
        aspect-ratio: 3 / 4 !important;
    }
    .u-ratio-1-1-sm {
        aspect-ratio: 1 / 1 !important;
    }
    /* 모바일에서 세로로 긴 영상/이미지 대응용 */
    .u-ratio-9-16-sm {
        aspect-ratio: 9 / 16 !important;
    }

    .u-round-0-sm {
        border-radius: 0 !important;
    }
    .u-round-4-sm {
        border-radius: var(--sp-4) !important;
    }
    .u-round-8-sm {
        border-radius: var(--sp-8) !important;
    }
    .u-round-12-sm {
        border-radius: var(--sp-12) !important;
    }
    .u-round-16-sm {
        border-radius: var(--sp-16) !important;
    }
    .u-round-20-sm {
        border-radius: var(--sp-20) !important;
    }
    .u-round-24-sm {
        border-radius: var(--sp-24) !important;
    }
    .u-round-full-sm {
        border-radius: 999px !important;
    }

    /* Title System - Responsive Extensions */

    /* Content System - Responsive Extensions */

    /* Base Grid Display */
    .g-cols-1-sm {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }
    .g-cols-2-sm {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    .g-cols-3-sm {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }
    .g-cols-4-sm {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
    }

    /* FIT - SM */
    .g-cols-fit-1-sm {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
    }
    .g-cols-fit-2-sm {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(900px, 1fr));
    }
    .g-cols-fit-3-sm {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(600px, 1fr));
    }
    .g-cols-fit-4-sm {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
    }
    .g-cols-fit-5-sm {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    }
    .g-cols-fit-6-sm {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }
    .g-cols-fit-7-sm {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }
    .g-cols-fit-8-sm {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    }
    .g-cols-fit-9-sm {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }
    .g-cols-fit-10-sm {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }
    .g-cols-fit-11-sm {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    }
    .g-cols-fit-12-sm {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }

    /* FILL - SM */
    .g-cols-fill-1-sm {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
    }
    .g-cols-fill-2-sm {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(900px, 1fr));
    }
    .g-cols-fill-3-sm {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(600px, 1fr));
    }
    .g-cols-fill-4-sm {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(450px, 1fr));
    }
    .g-cols-fill-5-sm {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    }
    .g-cols-fill-6-sm {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }
    .g-cols-fill-7-sm {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    }
    .g-cols-fill-8-sm {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    }
    .g-cols-fill-9-sm {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
    .g-cols-fill-10-sm {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    }
    .g-cols-fill-11-sm {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    }
    .g-cols-fill-12-sm {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    }

    .g-center-sm {
        display: grid;
        place-items: center;
    }
    .g-full-sm {
        display: grid;
        place-items: stretch;
    }
    .g-v-center-sm {
        display: grid;
        align-items: center;
    }
    .g-h-center-sm {
        display: grid;
        justify-items: center;
    }
    .g-self-center-sm {
        place-self: center;
    }
    .g-self-end-sm {
        place-self: end;
    }
    .g-self-v-end-sm {
        align-self: end;
    }

    .u-gap-0-sm {
        gap: 0 !important;
    }
    .u-gap-1-sm {
        gap: 1px !important;
    }
    .u-gap-2-sm {
        gap: 2px !important;
    }
    .u-gap-3-sm {
        gap: 3px !important;
    }
    .u-gap-4-sm {
        gap: clamp(0.1875rem, 0.05vw + 0.15rem, 0.25rem) !important;
    }
    .u-gap-8-sm {
        gap: clamp(0.375rem, 0.1vw + 0.3rem, 0.5rem) !important;
    }
    .u-gap-10-sm {
        gap: clamp(0.4375rem, 0.15vw + 0.35rem, 0.625rem) !important;
    }
    .u-gap-12-sm {
        gap: clamp(0.5rem, 0.2vw + 0.4rem, 0.75rem) !important;
    }
    .u-gap-14-sm {
        gap: clamp(0.625rem, 0.25vw + 0.5rem, 0.875rem) !important;
    }
    .u-gap-16-sm {
        gap: clamp(0.75rem, 0.3vw + 0.6rem, 1rem) !important;
    }
    .u-gap-18-sm {
        gap: clamp(0.8125rem, 0.35vw + 0.65rem, 1.125rem) !important;
    }
    .u-gap-20-sm {
        gap: clamp(0.875rem, 0.4vw + 0.7rem, 1.25rem) !important;
    }
    .u-gap-24-sm {
        gap: clamp(1rem, 0.5vw + 0.8rem, 1.5rem) !important;
    }
    .u-gap-28-sm {
        gap: clamp(1.25rem, 0.6vw + 0.9rem, 1.75rem) !important;
    }
    .u-gap-30-sm {
        gap: clamp(1.375rem, 0.65vw + 0.95rem, 1.875rem) !important;
    }
    .u-gap-32-sm {
        gap: clamp(1.5rem, 0.7vw + 1rem, 2rem) !important;
    }
    .u-gap-36-sm {
        gap: clamp(1.75rem, 0.8vw + 1.1rem, 2.25rem) !important;
    }
    .u-gap-40-sm {
        gap: clamp(2rem, 1vw + 1.2rem, 2.5rem) !important;
    }

    /* ==========================================
     PADDING (전체, X, Y, 상, 하, 좌, 우)
     ========================================== */
    .u-p-0-sm {
        padding: 0 !important;
    }
    .u-px-0-sm {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .u-py-0-sm {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .u-pt-0-sm {
        padding-top: 0 !important;
    }
    .u-pb-0-sm {
        padding-bottom: 0 !important;
    }
    .u-pl-0-sm {
        padding-left: 0 !important;
    }
    .u-pr-0-sm {
        padding-right: 0 !important;
    }

    /* 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 48, 50, 60, 70, 80, 90, 100, 110, 120 */
    .u-p-4-sm {
        padding: var(--sp-4) !important;
    }
    .u-px-4-sm {
        padding-left: var(--sp-4) !important;
        padding-right: var(--sp-4) !important;
    }
    .u-py-4-sm {
        padding-top: var(--sp-4) !important;
        padding-bottom: var(--sp-4) !important;
    }
    .u-pt-4-sm {
        padding-top: var(--sp-4) !important;
    }
    .u-pb-4-sm {
        padding-bottom: var(--sp-4) !important;
    }
    .u-pl-4-sm {
        padding-left: var(--sp-4) !important;
    }
    .u-pr-4-sm {
        padding-right: var(--sp-4) !important;
    }
    .u-p-6-sm {
        padding: var(--sp-6) !important;
    }
    .u-px-6-sm {
        padding-left: var(--sp-6) !important;
        padding-right: var(--sp-6) !important;
    }
    .u-py-6-sm {
        padding-top: var(--sp-6) !important;
        padding-bottom: var(--sp-6) !important;
    }
    .u-pt-6-sm {
        padding-top: var(--sp-6) !important;
    }
    .u-pb-6-sm {
        padding-bottom: var(--sp-6) !important;
    }
    .u-pl-6-sm {
        padding-left: var(--sp-6) !important;
    }
    .u-pr-6-sm {
        padding-right: var(--sp-6) !important;
    }
    .u-p-8-sm {
        padding: var(--sp-8) !important;
    }
    .u-px-8-sm {
        padding-left: var(--sp-8) !important;
        padding-right: var(--sp-8) !important;
    }
    .u-py-8-sm {
        padding-top: var(--sp-8) !important;
        padding-bottom: var(--sp-8) !important;
    }
    .u-pt-8-sm {
        padding-top: var(--sp-8) !important;
    }
    .u-pb-8-sm {
        padding-bottom: var(--sp-8) !important;
    }
    .u-pl-8-sm {
        padding-left: var(--sp-8) !important;
    }
    .u-pr-8-sm {
        padding-right: var(--sp-8) !important;
    }
    .u-p-10-sm {
        padding: var(--sp-10) !important;
    }
    .u-px-10-sm {
        padding-left: var(--sp-10) !important;
        padding-right: var(--sp-10) !important;
    }
    .u-py-10-sm {
        padding-top: var(--sp-10) !important;
        padding-bottom: var(--sp-10) !important;
    }
    .u-pt-10-sm {
        padding-top: var(--sp-10) !important;
    }
    .u-pb-10-sm {
        padding-bottom: var(--sp-10) !important;
    }
    .u-pl-10-sm {
        padding-left: var(--sp-10) !important;
    }
    .u-pr-10-sm {
        padding-right: var(--sp-10) !important;
    }
    .u-p-12-sm {
        padding: var(--sp-12) !important;
    }
    .u-px-12-sm {
        padding-left: var(--sp-12) !important;
        padding-right: var(--sp-12) !important;
    }
    .u-py-12-sm {
        padding-top: var(--sp-12) !important;
        padding-bottom: var(--sp-12) !important;
    }
    .u-pt-12-sm {
        padding-top: var(--sp-12) !important;
    }
    .u-pb-12-sm {
        padding-bottom: var(--sp-12) !important;
    }
    .u-pl-12-sm {
        padding-left: var(--sp-12) !important;
    }
    .u-pr-12-sm {
        padding-right: var(--sp-12) !important;
    }
    .u-p-14-sm {
        padding: var(--sp-14) !important;
    }
    .u-px-14-sm {
        padding-left: var(--sp-14) !important;
        padding-right: var(--sp-14) !important;
    }
    .u-py-14-sm {
        padding-top: var(--sp-14) !important;
        padding-bottom: var(--sp-14) !important;
    }
    .u-pt-14-sm {
        padding-top: var(--sp-14) !important;
    }
    .u-pb-14-sm {
        padding-bottom: var(--sp-14) !important;
    }
    .u-pl-14-sm {
        padding-left: var(--sp-14) !important;
    }
    .u-pr-14-sm {
        padding-right: var(--sp-14) !important;
    }
    .u-p-16-sm {
        padding: var(--sp-16) !important;
    }
    .u-px-16-sm {
        padding-left: var(--sp-16) !important;
        padding-right: var(--sp-16) !important;
    }
    .u-py-16-sm {
        padding-top: var(--sp-16) !important;
        padding-bottom: var(--sp-16) !important;
    }
    .u-pt-16-sm {
        padding-top: var(--sp-16) !important;
    }
    .u-pb-16-sm {
        padding-bottom: var(--sp-16) !important;
    }
    .u-pl-16-sm {
        padding-left: var(--sp-16) !important;
    }
    .u-pr-16-sm {
        padding-right: var(--sp-16) !important;
    }
    .u-p-18-sm {
        padding: var(--sp-18) !important;
    }
    .u-px-18-sm {
        padding-left: var(--sp-18) !important;
        padding-right: var(--sp-18) !important;
    }
    .u-py-18-sm {
        padding-top: var(--sp-18) !important;
        padding-bottom: var(--sp-18) !important;
    }
    .u-pt-18-sm {
        padding-top: var(--sp-18) !important;
    }
    .u-pb-18-sm {
        padding-bottom: var(--sp-18) !important;
    }
    .u-pl-18-sm {
        padding-left: var(--sp-18) !important;
    }
    .u-pr-18-sm {
        padding-right: var(--sp-18) !important;
    }
    .u-p-20-sm {
        padding: var(--sp-20) !important;
    }
    .u-px-20-sm {
        padding-left: var(--sp-20) !important;
        padding-right: var(--sp-20) !important;
    }
    .u-py-20-sm {
        padding-top: var(--sp-20) !important;
        padding-bottom: var(--sp-20) !important;
    }
    .u-pt-20-sm {
        padding-top: var(--sp-20) !important;
    }
    .u-pb-20-sm {
        padding-bottom: var(--sp-20) !important;
    }
    .u-pl-20-sm {
        padding-left: var(--sp-20) !important;
    }
    .u-pr-20-sm {
        padding-right: var(--sp-20) !important;
    }
    .u-p-22-sm {
        padding: var(--sp-22) !important;
    }
    .u-px-22-sm {
        padding-left: var(--sp-22) !important;
        padding-right: var(--sp-22) !important;
    }
    .u-py-22-sm {
        padding-top: var(--sp-22) !important;
        padding-bottom: var(--sp-22) !important;
    }
    .u-pt-22-sm {
        padding-top: var(--sp-22) !important;
    }
    .u-pb-22-sm {
        padding-bottom: var(--sp-22) !important;
    }
    .u-pl-22-sm {
        padding-left: var(--sp-22) !important;
    }
    .u-pr-22-sm {
        padding-right: var(--sp-22) !important;
    }
    .u-p-24-sm {
        padding: var(--sp-24) !important;
    }
    .u-px-24-sm {
        padding-left: var(--sp-24) !important;
        padding-right: var(--sp-24) !important;
    }
    .u-py-24-sm {
        padding-top: var(--sp-24) !important;
        padding-bottom: var(--sp-24) !important;
    }
    .u-pt-24-sm {
        padding-top: var(--sp-24) !important;
    }
    .u-pb-24-sm {
        padding-bottom: var(--sp-24) !important;
    }
    .u-pl-24-sm {
        padding-left: var(--sp-24) !important;
    }
    .u-pr-24-sm {
        padding-right: var(--sp-24) !important;
    }
    .u-p-26-sm {
        padding: var(--sp-26) !important;
    }
    .u-px-26-sm {
        padding-left: var(--sp-26) !important;
        padding-right: var(--sp-26) !important;
    }
    .u-py-26-sm {
        padding-top: var(--sp-26) !important;
        padding-bottom: var(--sp-26) !important;
    }
    .u-pt-26-sm {
        padding-top: var(--sp-26) !important;
    }
    .u-pb-26-sm {
        padding-bottom: var(--sp-26) !important;
    }
    .u-pl-26-sm {
        padding-left: var(--sp-26) !important;
    }
    .u-pr-26-sm {
        padding-right: var(--sp-26) !important;
    }
    .u-p-28-sm {
        padding: var(--sp-28) !important;
    }
    .u-px-28-sm {
        padding-left: var(--sp-28) !important;
        padding-right: var(--sp-28) !important;
    }
    .u-py-28-sm {
        padding-top: var(--sp-28) !important;
        padding-bottom: var(--sp-28) !important;
    }
    .u-pt-28-sm {
        padding-top: var(--sp-28) !important;
    }
    .u-pb-28-sm {
        padding-bottom: var(--sp-28) !important;
    }
    .u-pl-28-sm {
        padding-left: var(--sp-28) !important;
    }
    .u-pr-28-sm {
        padding-right: var(--sp-28) !important;
    }
    .u-p-30-sm {
        padding: var(--sp-30) !important;
    }
    .u-px-30-sm {
        padding-left: var(--sp-30) !important;
        padding-right: var(--sp-30) !important;
    }
    .u-py-30-sm {
        padding-top: var(--sp-30) !important;
        padding-bottom: var(--sp-30) !important;
    }
    .u-pt-30-sm {
        padding-top: var(--sp-30) !important;
    }
    .u-pb-30-sm {
        padding-bottom: var(--sp-30) !important;
    }
    .u-pl-30-sm {
        padding-left: var(--sp-30) !important;
    }
    .u-pr-30-sm {
        padding-right: var(--sp-30) !important;
    }
    .u-p-32-sm {
        padding: var(--sp-32) !important;
    }
    .u-px-32-sm {
        padding-left: var(--sp-32) !important;
        padding-right: var(--sp-32) !important;
    }
    .u-py-32-sm {
        padding-top: var(--sp-32) !important;
        padding-bottom: var(--sp-32) !important;
    }
    .u-pt-32-sm {
        padding-top: var(--sp-32) !important;
    }
    .u-pb-32-sm {
        padding-bottom: var(--sp-32) !important;
    }
    .u-pl-32-sm {
        padding-left: var(--sp-32) !important;
    }
    .u-pr-32-sm {
        padding-right: var(--sp-32) !important;
    }
    .u-p-34-sm {
        padding: var(--sp-34) !important;
    }
    .u-px-34-sm {
        padding-left: var(--sp-34) !important;
        padding-right: var(--sp-34) !important;
    }
    .u-py-34-sm {
        padding-top: var(--sp-34) !important;
        padding-bottom: var(--sp-34) !important;
    }
    .u-pt-34-sm {
        padding-top: var(--sp-34) !important;
    }
    .u-pb-34-sm {
        padding-bottom: var(--sp-34) !important;
    }
    .u-pl-34-sm {
        padding-left: var(--sp-34) !important;
    }
    .u-pr-34-sm {
        padding-right: var(--sp-34) !important;
    }
    .u-p-36-sm {
        padding: var(--sp-36) !important;
    }
    .u-px-36-sm {
        padding-left: var(--sp-36) !important;
        padding-right: var(--sp-36) !important;
    }
    .u-py-36-sm {
        padding-top: var(--sp-36) !important;
        padding-bottom: var(--sp-36) !important;
    }
    .u-pt-36-sm {
        padding-top: var(--sp-36) !important;
    }
    .u-pb-36-sm {
        padding-bottom: var(--sp-36) !important;
    }
    .u-pl-36-sm {
        padding-left: var(--sp-36) !important;
    }
    .u-pr-36-sm {
        padding-right: var(--sp-36) !important;
    }
    .u-p-38-sm {
        padding: var(--sp-38) !important;
    }
    .u-px-38-sm {
        padding-left: var(--sp-38) !important;
        padding-right: var(--sp-38) !important;
    }
    .u-py-38-sm {
        padding-top: var(--sp-38) !important;
        padding-bottom: var(--sp-38) !important;
    }
    .u-pt-38-sm {
        padding-top: var(--sp-38) !important;
    }
    .u-pb-38-sm {
        padding-bottom: var(--sp-38) !important;
    }
    .u-pl-38-sm {
        padding-left: var(--sp-38) !important;
    }
    .u-pr-38-sm {
        padding-right: var(--sp-38) !important;
    }
    .u-p-40-sm {
        padding: var(--sp-40) !important;
    }
    .u-px-40-sm {
        padding-left: var(--sp-40) !important;
        padding-right: var(--sp-40) !important;
    }
    .u-py-40-sm {
        padding-top: var(--sp-40) !important;
        padding-bottom: var(--sp-40) !important;
    }
    .u-pt-40-sm {
        padding-top: var(--sp-40) !important;
    }
    .u-pb-40-sm {
        padding-bottom: var(--sp-40) !important;
    }
    .u-pl-40-sm {
        padding-left: var(--sp-40) !important;
    }
    .u-pr-40-sm {
        padding-right: var(--sp-40) !important;
    }
    .u-p-48-sm {
        padding: var(--sp-48) !important;
    }
    .u-px-48-sm {
        padding-left: var(--sp-48) !important;
        padding-right: var(--sp-48) !important;
    }
    .u-py-48-sm {
        padding-top: var(--sp-48) !important;
        padding-bottom: var(--sp-48) !important;
    }
    .u-pt-48-sm {
        padding-top: var(--sp-48) !important;
    }
    .u-pb-48-sm {
        padding-bottom: var(--sp-48) !important;
    }
    .u-pl-48-sm {
        padding-left: var(--sp-48) !important;
    }
    .u-pr-48-sm {
        padding-right: var(--sp-48) !important;
    }
    .u-p-50-sm {
        padding: var(--sp-50) !important;
    }
    .u-px-50-sm {
        padding-left: var(--sp-50) !important;
        padding-right: var(--sp-50) !important;
    }
    .u-py-50-sm {
        padding-top: var(--sp-50) !important;
        padding-bottom: var(--sp-50) !important;
    }
    .u-pt-50-sm {
        padding-top: var(--sp-50) !important;
    }
    .u-pb-50-sm {
        padding-bottom: var(--sp-50) !important;
    }
    .u-pl-50-sm {
        padding-left: var(--sp-50) !important;
    }
    .u-pr-50-sm {
        padding-right: var(--sp-50) !important;
    }
    .u-p-60-sm {
        padding: var(--sp-60) !important;
    }
    .u-px-60-sm {
        padding-left: var(--sp-60) !important;
        padding-right: var(--sp-60) !important;
    }
    .u-py-60-sm {
        padding-top: var(--sp-60) !important;
        padding-bottom: var(--sp-60) !important;
    }
    .u-pt-60-sm {
        padding-top: var(--sp-60) !important;
    }
    .u-pb-60-sm {
        padding-bottom: var(--sp-60) !important;
    }
    .u-pl-60-sm {
        padding-left: var(--sp-60) !important;
    }
    .u-pr-60-sm {
        padding-right: var(--sp-60) !important;
    }
    .u-p-70-sm {
        padding: var(--sp-70) !important;
    }
    .u-px-70-sm {
        padding-left: var(--sp-70) !important;
        padding-right: var(--sp-70) !important;
    }
    .u-py-70-sm {
        padding-top: var(--sp-70) !important;
        padding-bottom: var(--sp-70) !important;
    }
    .u-pt-70-sm {
        padding-top: var(--sp-70) !important;
    }
    .u-pb-70-sm {
        padding-bottom: var(--sp-70) !important;
    }
    .u-pl-70-sm {
        padding-left: var(--sp-70) !important;
    }
    .u-pr-70-sm {
        padding-right: var(--sp-70) !important;
    }
    .u-p-80-sm {
        padding: var(--sp-80) !important;
    }
    .u-px-80-sm {
        padding-left: var(--sp-80) !important;
        padding-right: var(--sp-80) !important;
    }
    .u-py-80-sm {
        padding-top: var(--sp-80) !important;
        padding-bottom: var(--sp-80) !important;
    }
    .u-pt-80-sm {
        padding-top: var(--sp-80) !important;
    }
    .u-pb-80-sm {
        padding-bottom: var(--sp-80) !important;
    }
    .u-pl-80-sm {
        padding-left: var(--sp-80) !important;
    }
    .u-pr-80-sm {
        padding-right: var(--sp-80) !important;
    }

    /* ==========================================
     MARGIN (전체, X, Y, 상, 하, 좌, 우)
     ========================================== */
    .u-m-0-sm {
        margin: 0;
    }

    .u-m-4-sm {
        margin: var(--sp-4);
    }
    .u-mx-4-sm {
        margin-left: var(--sp-4);
        margin-right: var(--sp-4);
    }
    .u-my-4-sm {
        margin-top: var(--sp-4);
        margin-bottom: var(--sp-4);
    }
    .u-mt-4-sm {
        margin-top: var(--sp-4);
    }
    .u-ml-4-sm {
        margin-left: var(--sp-4);
    }
    .u-mr-4-sm {
        margin-right: var(--sp-4);
    }
    .u-m-6-sm {
        margin: var(--sp-6);
    }
    .u-mx-6-sm {
        margin-left: var(--sp-6);
        margin-right: var(--sp-6);
    }
    .u-my-6-sm {
        margin-top: var(--sp-6);
        margin-bottom: var(--sp-6);
    }
    .u-mt-6-sm {
        margin-top: var(--sp-6);
    }
    .u-ml-6-sm {
        margin-left: var(--sp-6);
    }
    .u-mr-6-sm {
        margin-right: var(--sp-6);
    }
    .u-m-8-sm {
        margin: var(--sp-8);
    }
    .u-mx-8-sm {
        margin-left: var(--sp-8);
        margin-right: var(--sp-8);
    }
    .u-my-8-sm {
        margin-top: var(--sp-8);
        margin-bottom: var(--sp-8);
    }
    .u-mt-0-sm {
        margin-top: 0;
    }
    .u-mt-8-sm {
        margin-top: var(--sp-8);
    }
    .u-ml-8-sm {
        margin-left: var(--sp-8);
    }
    .u-mr-8-sm {
        margin-right: var(--sp-8);
    }
    .u-m-10-sm {
        margin: var(--sp-10);
    }
    .u-mx-10-sm {
        margin-left: var(--sp-10);
        margin-right: var(--sp-10);
    }
    .u-my-10-sm {
        margin-top: var(--sp-10);
        margin-bottom: var(--sp-10);
    }
    .u-mt-10-sm {
        margin-top: var(--sp-10);
    }
    .u-ml-10-sm {
        margin-left: var(--sp-10);
    }
    .u-mr-10-sm {
        margin-right: var(--sp-10);
    }
    .u-m-12-sm {
        margin: var(--sp-12);
    }
    .u-mx-12-sm {
        margin-left: var(--sp-12);
        margin-right: var(--sp-12);
    }
    .u-my-12-sm {
        margin-top: var(--sp-12);
        margin-bottom: var(--sp-12);
    }
    .u-mt-12-sm {
        margin-top: var(--sp-12);
    }
    .u-ml-12-sm {
        margin-left: var(--sp-12);
    }
    .u-mr-12-sm {
        margin-right: var(--sp-12);
    }
    .u-m-14-sm {
        margin: var(--sp-14);
    }
    .u-mx-14-sm {
        margin-left: var(--sp-14);
        margin-right: var(--sp-14);
    }
    .u-my-14-sm {
        margin-top: var(--sp-14);
        margin-bottom: var(--sp-14);
    }
    .u-mt-14-sm {
        margin-top: var(--sp-14);
    }
    .u-ml-14-sm {
        margin-left: var(--sp-14);
    }
    .u-mr-14-sm {
        margin-right: var(--sp-14);
    }
    .u-m-16-sm {
        margin: var(--sp-16);
    }
    .u-mx-16-sm {
        margin-left: var(--sp-16);
        margin-right: var(--sp-16);
    }
    .u-my-16-sm {
        margin-top: var(--sp-16);
        margin-bottom: var(--sp-16);
    }
    .u-mt-16-sm {
        margin-top: var(--sp-16);
    }
    .u-ml-16-sm {
        margin-left: var(--sp-16);
    }
    .u-mr-16-sm {
        margin-right: var(--sp-16);
    }
    .u-m-18-sm {
        margin: var(--sp-18);
    }
    .u-mx-18-sm {
        margin-left: var(--sp-18);
        margin-right: var(--sp-18);
    }
    .u-my-18-sm {
        margin-top: var(--sp-18);
        margin-bottom: var(--sp-18);
    }
    .u-mt-18-sm {
        margin-top: var(--sp-18);
    }
    .u-ml-18-sm {
        margin-left: var(--sp-18);
    }
    .u-mr-18-sm {
        margin-right: var(--sp-18);
    }
    .u-m-20-sm {
        margin: var(--sp-20);
    }
    .u-mx-20-sm {
        margin-left: var(--sp-20);
        margin-right: var(--sp-20);
    }
    .u-my-20-sm {
        margin-top: var(--sp-20);
        margin-bottom: var(--sp-20);
    }
    .u-mt-20-sm {
        margin-top: var(--sp-20);
    }
    .u-ml-20-sm {
        margin-left: var(--sp-20);
    }
    .u-mr-20-sm {
        margin-right: var(--sp-20);
    }
    .u-m-22-sm {
        margin: var(--sp-22);
    }
    .u-mx-22-sm {
        margin-left: var(--sp-22);
        margin-right: var(--sp-22);
    }
    .u-my-22-sm {
        margin-top: var(--sp-22);
        margin-bottom: var(--sp-22);
    }
    .u-mt-22-sm {
        margin-top: var(--sp-22);
    }
    .u-mb-22-sm {
        margin-bottom: var(--sp-22);
    }
    .u-ml-22-sm {
        margin-left: var(--sp-22);
    }
    .u-mr-22-sm {
        margin-right: var(--sp-22);
    }
    .u-m-24-sm {
        margin: var(--sp-24);
    }
    .u-mx-24-sm {
        margin-left: var(--sp-24);
        margin-right: var(--sp-24);
    }
    .u-my-24-sm {
        margin-top: var(--sp-24);
        margin-bottom: var(--sp-24);
    }
    .u-mt-24-sm {
        margin-top: var(--sp-24);
    }
    .u-ml-24-sm {
        margin-left: var(--sp-24);
    }
    .u-mr-24-sm {
        margin-right: var(--sp-24);
    }
    .u-m-26-sm {
        margin: var(--sp-26);
    }
    .u-mx-26-sm {
        margin-left: var(--sp-26);
        margin-right: var(--sp-26);
    }
    .u-my-26-sm {
        margin-top: var(--sp-26);
        margin-bottom: var(--sp-26);
    }
    .u-mt-26-sm {
        margin-top: var(--sp-26);
    }
    .u-mb-26-sm {
        margin-bottom: var(--sp-26);
    }
    .u-ml-26-sm {
        margin-left: var(--sp-26);
    }
    .u-mr-26-sm {
        margin-right: var(--sp-26);
    }
    .u-m-28-sm {
        margin: var(--sp-28);
    }
    .u-mx-28-sm {
        margin-left: var(--sp-28);
        margin-right: var(--sp-28);
    }
    .u-my-28-sm {
        margin-top: var(--sp-28);
        margin-bottom: var(--sp-28);
    }
    .u-mt-28-sm {
        margin-top: var(--sp-28);
    }
    .u-ml-28-sm {
        margin-left: var(--sp-28);
    }
    .u-mr-28-sm {
        margin-right: var(--sp-28);
    }
    .u-m-30-sm {
        margin: var(--sp-30);
    }
    .u-mx-30-sm {
        margin-left: var(--sp-30);
        margin-right: var(--sp-30);
    }
    .u-my-30-sm {
        margin-top: var(--sp-30);
        margin-bottom: var(--sp-30);
    }
    .u-mt-30-sm {
        margin-top: var(--sp-30);
    }
    .u-ml-30-sm {
        margin-left: var(--sp-30);
    }
    .u-mr-30-sm {
        margin-right: var(--sp-30);
    }
    .u-m-32-sm {
        margin: var(--sp-32);
    }
    .u-mx-32-sm {
        margin-left: var(--sp-32);
        margin-right: var(--sp-32);
    }
    .u-my-32-sm {
        margin-top: var(--sp-32);
        margin-bottom: var(--sp-32);
    }
    .u-mt-32-sm {
        margin-top: var(--sp-32);
    }
    .u-ml-32-sm {
        margin-left: var(--sp-32);
    }
    .u-mr-32-sm {
        margin-right: var(--sp-32);
    }
    .u-m-34-sm {
        margin: var(--sp-34);
    }
    .u-mx-34-sm {
        margin-left: var(--sp-34);
        margin-right: var(--sp-34);
    }
    .u-my-34-sm {
        margin-top: var(--sp-34);
        margin-bottom: var(--sp-34);
    }
    .u-mt-34-sm {
        margin-top: var(--sp-34);
    }
    .u-mb-34-sm {
        margin-bottom: var(--sp-34);
    }
    .u-ml-34-sm {
        margin-left: var(--sp-34);
    }
    .u-mr-34-sm {
        margin-right: var(--sp-34);
    }
    .u-m-36-sm {
        margin: var(--sp-36);
    }
    .u-mx-36-sm {
        margin-left: var(--sp-36);
        margin-right: var(--sp-36);
    }
    .u-my-36-sm {
        margin-top: var(--sp-36);
        margin-bottom: var(--sp-36);
    }
    .u-mt-36-sm {
        margin-top: var(--sp-36);
    }
    .u-ml-36-sm {
        margin-left: var(--sp-36);
    }
    .u-mr-36-sm {
        margin-right: var(--sp-36);
    }
    .u-m-38-sm {
        margin: var(--sp-38);
    }
    .u-mx-38-sm {
        margin-left: var(--sp-38);
        margin-right: var(--sp-38);
    }
    .u-my-38-sm {
        margin-top: var(--sp-38);
        margin-bottom: var(--sp-38);
    }
    .u-mt-38-sm {
        margin-top: var(--sp-38);
    }
    .u-mb-38-sm {
        margin-bottom: var(--sp-38);
    }
    .u-ml-38-sm {
        margin-left: var(--sp-38);
    }
    .u-mr-38-sm {
        margin-right: var(--sp-38);
    }
    .u-m-40-sm {
        margin: var(--sp-40);
    }
    .u-mx-40-sm {
        margin-left: var(--sp-40);
        margin-right: var(--sp-40);
    }
    .u-my-40-sm {
        margin-top: var(--sp-40);
        margin-bottom: var(--sp-40);
    }
    .u-mt-40-sm {
        margin-top: var(--sp-40);
    }
    .u-ml-40-sm {
        margin-left: var(--sp-40);
    }
    .u-mr-40-sm {
        margin-right: var(--sp-40);
    }
    .u-m-48-sm {
        margin: var(--sp-48);
    }
    .u-mx-48-sm {
        margin-left: var(--sp-48);
        margin-right: var(--sp-48);
    }
    .u-my-48-sm {
        margin-top: var(--sp-48);
        margin-bottom: var(--sp-48);
    }
    .u-mt-48-sm {
        margin-top: var(--sp-48);
    }
    .u-ml-48-sm {
        margin-left: var(--sp-48);
    }
    .u-mr-48-sm {
        margin-right: var(--sp-48);
    }
    .u-m-50-sm {
        margin: var(--sp-50);
    }
    .u-mx-50-sm {
        margin-left: var(--sp-50);
        margin-right: var(--sp-50);
    }
    .u-my-50-sm {
        margin-top: var(--sp-50);
        margin-bottom: var(--sp-50);
    }
    .u-mt-50-sm {
        margin-top: var(--sp-50);
    }
    .u-mb-50-sm {
        margin-bottom: var(--sp-50);
    }
    .u-ml-50-sm {
        margin-left: var(--sp-50);
    }
    .u-mr-50-sm {
        margin-right: var(--sp-50);
    }
    .u-m-60-sm {
        margin: var(--sp-60);
    }
    .u-mx-60-sm {
        margin-left: var(--sp-60);
        margin-right: var(--sp-60);
    }
    .u-my-60-sm {
        margin-top: var(--sp-60);
        margin-bottom: var(--sp-60);
    }
    .u-mt-60-sm {
        margin-top: var(--sp-60);
    }
    .u-ml-60-sm {
        margin-left: var(--sp-60);
    }
    .u-mr-60-sm {
        margin-right: var(--sp-60);
    }
    .u-m-70-sm {
        margin: var(--sp-70);
    }
    .u-mx-70-sm {
        margin-left: var(--sp-70);
        margin-right: var(--sp-70);
    }
    .u-my-70-sm {
        margin-top: var(--sp-70);
        margin-bottom: var(--sp-70);
    }
    .u-mt-70-sm {
        margin-top: var(--sp-70);
    }
    .u-mb-70-sm {
        margin-bottom: var(--sp-70);
    }
    .u-ml-70-sm {
        margin-left: var(--sp-70);
    }
    .u-mr-70-sm {
        margin-right: var(--sp-70);
    }
    .u-m-80-sm {
        margin: var(--sp-80);
    }
    .u-mx-80-sm {
        margin-left: var(--sp-80);
        margin-right: var(--sp-80);
    }
    .u-my-80-sm {
        margin-top: var(--sp-80);
        margin-bottom: var(--sp-80);
    }
    .u-mt-80-sm {
        margin-top: var(--sp-80);
    }
    .u-ml-80-sm {
        margin-left: var(--sp-80);
    }
    .u-mr-80-sm {
        margin-right: var(--sp-80);
    }

    /* --- Border Radius Responsive Utilities --- */

    /* --- Grid Place-Self Responsive Utilities (No Prefix) --- */
    .g-self-start-sm {
        place-self: start !important;
    }

    /* --- Width Responsive Utilities (No Prefix) --- */
    .w-100-sm {
        width: 100% !important;
    }
    .w-50-sm {
        width: 50% !important;
    }
    .w-fit-sm {
        width: fit-content !important;
    }
    .w-max-sm {
        width: max-content !important;
    }
    .w-auto-sm {
        width: auto !important;
    }
    .h-100-sm {
        height: 100% !important;
    }
    .vh-100-sm {
        height: 100vh !important;
    }

    /* === t-fs / c-fs sm 누락분 === */
    .t-fs-22-sm {
        font-size: var(--sp-22) !important;
        line-height: 1.5;
        font-weight: 700;
    }
    .c-fs-22-sm {
        font-size: var(--sp-22) !important;
        line-height: 1.5;
    }
    .t-fs-26-sm {
        font-size: var(--sp-26) !important;
        line-height: 1.5;
        font-weight: 700;
    }
    .c-fs-26-sm {
        font-size: var(--sp-26) !important;
        line-height: 1.5;
    }
    .t-fs-30-sm {
        font-size: var(--sp-30) !important;
        line-height: 1.5;
        font-weight: 700;
    }
    .c-fs-30-sm {
        font-size: var(--sp-30) !important;
        line-height: 1.4;
    }
    .t-fs-34-sm {
        font-size: var(--sp-34) !important;
        line-height: 1.3;
    }
    .c-fs-34-sm {
        font-size: var(--sp-34) !important;
        line-height: 1.4;
    }
    .t-fs-38-sm {
        font-size: var(--sp-38) !important;
        line-height: 1.3;
        font-weight: 700;
    }
    .c-fs-38-sm {
        font-size: var(--sp-38) !important;
        line-height: 1.4;
    }
    .t-fs-42-sm {
        font-size: var(--sp-42) !important;
        line-height: 1.3;
        font-weight: 700;
    }
    .c-fs-42-sm {
        font-size: var(--sp-42) !important;
        line-height: 1.4;
    }
    .t-fs-46-sm {
        font-size: var(--sp-46) !important;
        line-height: 1.2;
        font-weight: 700;
    }
    .c-fs-46-sm {
        font-size: var(--sp-46) !important;
        line-height: 1.4;
    }
    .t-fs-50-sm {
        font-size: var(--sp-50) !important;
        line-height: 1.2;
        font-weight: 700;
    }
    .c-fs-50-sm {
        font-size: var(--sp-50) !important;
        line-height: 1.4;
    }
    .t-fs-54-sm {
        font-size: var(--sp-54) !important;
        line-height: 1.2;
        font-weight: 800;
    }
    .c-fs-54-sm {
        font-size: var(--sp-54) !important;
        line-height: 1.4;
    }
    .t-fs-58-sm {
        font-size: var(--sp-58) !important;
        line-height: 1.2;
        font-weight: 800;
    }
    .c-fs-58-sm {
        font-size: var(--sp-58) !important;
        line-height: 1.4;
    }
    .t-fs-62-sm {
        font-size: var(--sp-62) !important;
        line-height: 1.1;
        font-weight: 800;
    }
    .c-fs-62-sm {
        font-size: var(--sp-62) !important;
        line-height: 1.3;
    }
    .t-fs-66-sm {
        font-size: var(--sp-66) !important;
        line-height: 1.1;
        font-weight: 800;
    }
    .c-fs-66-sm {
        font-size: var(--sp-66) !important;
        line-height: 1.3;
    }
    .t-fs-70-sm {
        font-size: var(--sp-70) !important;
        line-height: 1.1;
        font-weight: 800;
    }
    .c-fs-70-sm {
        font-size: var(--sp-70) !important;
        line-height: 1.3;
    }
    .t-fs-74-sm {
        font-size: var(--sp-74) !important;
        line-height: 1.1;
        font-weight: 800;
    }
    .c-fs-74-sm {
        font-size: var(--sp-74) !important;
        line-height: 1.3;
    }
    .t-fs-78-sm {
        font-size: var(--sp-78) !important;
        line-height: 1.1;
        font-weight: 800;
    }
    .c-fs-78-sm {
        font-size: var(--sp-78) !important;
        line-height: 1.3;
    }

    /* === SM 반응형 (82~250 신규값) === */
    .u-p-82-sm {
        padding: var(--sp-82) !important;
    }
    .u-px-82-sm {
        padding-left: var(--sp-82) !important;
        padding-right: var(--sp-82) !important;
    }
    .u-py-82-sm {
        padding-top: var(--sp-82) !important;
        padding-bottom: var(--sp-82) !important;
    }
    .u-pt-82-sm {
        padding-top: var(--sp-82) !important;
    }
    .u-pb-82-sm {
        padding-bottom: var(--sp-82) !important;
    }
    .u-pl-82-sm {
        padding-left: var(--sp-82) !important;
    }
    .u-pr-82-sm {
        padding-right: var(--sp-82) !important;
    }
    .u-m-82-sm {
        margin: var(--sp-82) !important;
    }
    .u-mx-82-sm {
        margin-left: var(--sp-82) !important;
        margin-right: var(--sp-82) !important;
    }
    .u-my-82-sm {
        margin-top: var(--sp-82) !important;
        margin-bottom: var(--sp-82) !important;
    }
    .u-mt-82-sm {
        margin-top: var(--sp-82) !important;
    }
    .u-mb-82-sm {
        margin-bottom: var(--sp-82) !important;
    }
    .u-ml-82-sm {
        margin-left: var(--sp-82) !important;
    }
    .u-mr-82-sm {
        margin-right: var(--sp-82) !important;
    }
    .u-gap-82-sm {
        gap: var(--sp-82) !important;
    }
    .u-p-84-sm {
        padding: var(--sp-84) !important;
    }
    .u-px-84-sm {
        padding-left: var(--sp-84) !important;
        padding-right: var(--sp-84) !important;
    }
    .u-py-84-sm {
        padding-top: var(--sp-84) !important;
        padding-bottom: var(--sp-84) !important;
    }
    .u-pt-84-sm {
        padding-top: var(--sp-84) !important;
    }
    .u-pb-84-sm {
        padding-bottom: var(--sp-84) !important;
    }
    .u-pl-84-sm {
        padding-left: var(--sp-84) !important;
    }
    .u-pr-84-sm {
        padding-right: var(--sp-84) !important;
    }
    .u-m-84-sm {
        margin: var(--sp-84) !important;
    }
    .u-mx-84-sm {
        margin-left: var(--sp-84) !important;
        margin-right: var(--sp-84) !important;
    }
    .u-my-84-sm {
        margin-top: var(--sp-84) !important;
        margin-bottom: var(--sp-84) !important;
    }
    .u-mt-84-sm {
        margin-top: var(--sp-84) !important;
    }
    .u-mb-84-sm {
        margin-bottom: var(--sp-84) !important;
    }
    .u-ml-84-sm {
        margin-left: var(--sp-84) !important;
    }
    .u-mr-84-sm {
        margin-right: var(--sp-84) !important;
    }
    .u-gap-84-sm {
        gap: var(--sp-84) !important;
    }
    .u-p-86-sm {
        padding: var(--sp-86) !important;
    }
    .u-px-86-sm {
        padding-left: var(--sp-86) !important;
        padding-right: var(--sp-86) !important;
    }
    .u-py-86-sm {
        padding-top: var(--sp-86) !important;
        padding-bottom: var(--sp-86) !important;
    }
    .u-pt-86-sm {
        padding-top: var(--sp-86) !important;
    }
    .u-pb-86-sm {
        padding-bottom: var(--sp-86) !important;
    }
    .u-pl-86-sm {
        padding-left: var(--sp-86) !important;
    }
    .u-pr-86-sm {
        padding-right: var(--sp-86) !important;
    }
    .u-m-86-sm {
        margin: var(--sp-86) !important;
    }
    .u-mx-86-sm {
        margin-left: var(--sp-86) !important;
        margin-right: var(--sp-86) !important;
    }
    .u-my-86-sm {
        margin-top: var(--sp-86) !important;
        margin-bottom: var(--sp-86) !important;
    }
    .u-mt-86-sm {
        margin-top: var(--sp-86) !important;
    }
    .u-mb-86-sm {
        margin-bottom: var(--sp-86) !important;
    }
    .u-ml-86-sm {
        margin-left: var(--sp-86) !important;
    }
    .u-mr-86-sm {
        margin-right: var(--sp-86) !important;
    }
    .u-gap-86-sm {
        gap: var(--sp-86) !important;
    }
    .u-p-88-sm {
        padding: var(--sp-88) !important;
    }
    .u-px-88-sm {
        padding-left: var(--sp-88) !important;
        padding-right: var(--sp-88) !important;
    }
    .u-py-88-sm {
        padding-top: var(--sp-88) !important;
        padding-bottom: var(--sp-88) !important;
    }
    .u-pt-88-sm {
        padding-top: var(--sp-88) !important;
    }
    .u-pb-88-sm {
        padding-bottom: var(--sp-88) !important;
    }
    .u-pl-88-sm {
        padding-left: var(--sp-88) !important;
    }
    .u-pr-88-sm {
        padding-right: var(--sp-88) !important;
    }
    .u-m-88-sm {
        margin: var(--sp-88) !important;
    }
    .u-mx-88-sm {
        margin-left: var(--sp-88) !important;
        margin-right: var(--sp-88) !important;
    }
    .u-my-88-sm {
        margin-top: var(--sp-88) !important;
        margin-bottom: var(--sp-88) !important;
    }
    .u-mt-88-sm {
        margin-top: var(--sp-88) !important;
    }
    .u-mb-88-sm {
        margin-bottom: var(--sp-88) !important;
    }
    .u-ml-88-sm {
        margin-left: var(--sp-88) !important;
    }
    .u-mr-88-sm {
        margin-right: var(--sp-88) !important;
    }
    .u-gap-88-sm {
        gap: var(--sp-88) !important;
    }
    .u-p-90-sm {
        padding: var(--sp-90) !important;
    }
    .u-px-90-sm {
        padding-left: var(--sp-90) !important;
        padding-right: var(--sp-90) !important;
    }
    .u-py-90-sm {
        padding-top: var(--sp-90) !important;
        padding-bottom: var(--sp-90) !important;
    }
    .u-pt-90-sm {
        padding-top: var(--sp-90) !important;
    }
    .u-pb-90-sm {
        padding-bottom: var(--sp-90) !important;
    }
    .u-pl-90-sm {
        padding-left: var(--sp-90) !important;
    }
    .u-pr-90-sm {
        padding-right: var(--sp-90) !important;
    }
    .u-m-90-sm {
        margin: var(--sp-90) !important;
    }
    .u-mx-90-sm {
        margin-left: var(--sp-90) !important;
        margin-right: var(--sp-90) !important;
    }
    .u-my-90-sm {
        margin-top: var(--sp-90) !important;
        margin-bottom: var(--sp-90) !important;
    }
    .u-mt-90-sm {
        margin-top: var(--sp-90) !important;
    }
    .u-mb-90-sm {
        margin-bottom: var(--sp-90) !important;
    }
    .u-ml-90-sm {
        margin-left: var(--sp-90) !important;
    }
    .u-mr-90-sm {
        margin-right: var(--sp-90) !important;
    }
    .u-gap-90-sm {
        gap: var(--sp-90) !important;
    }
    .u-p-92-sm {
        padding: var(--sp-92) !important;
    }
    .u-px-92-sm {
        padding-left: var(--sp-92) !important;
        padding-right: var(--sp-92) !important;
    }
    .u-py-92-sm {
        padding-top: var(--sp-92) !important;
        padding-bottom: var(--sp-92) !important;
    }
    .u-pt-92-sm {
        padding-top: var(--sp-92) !important;
    }
    .u-pb-92-sm {
        padding-bottom: var(--sp-92) !important;
    }
    .u-pl-92-sm {
        padding-left: var(--sp-92) !important;
    }
    .u-pr-92-sm {
        padding-right: var(--sp-92) !important;
    }
    .u-m-92-sm {
        margin: var(--sp-92) !important;
    }
    .u-mx-92-sm {
        margin-left: var(--sp-92) !important;
        margin-right: var(--sp-92) !important;
    }
    .u-my-92-sm {
        margin-top: var(--sp-92) !important;
        margin-bottom: var(--sp-92) !important;
    }
    .u-mt-92-sm {
        margin-top: var(--sp-92) !important;
    }
    .u-mb-92-sm {
        margin-bottom: var(--sp-92) !important;
    }
    .u-ml-92-sm {
        margin-left: var(--sp-92) !important;
    }
    .u-mr-92-sm {
        margin-right: var(--sp-92) !important;
    }
    .u-gap-92-sm {
        gap: var(--sp-92) !important;
    }
    .u-p-94-sm {
        padding: var(--sp-94) !important;
    }
    .u-px-94-sm {
        padding-left: var(--sp-94) !important;
        padding-right: var(--sp-94) !important;
    }
    .u-py-94-sm {
        padding-top: var(--sp-94) !important;
        padding-bottom: var(--sp-94) !important;
    }
    .u-pt-94-sm {
        padding-top: var(--sp-94) !important;
    }
    .u-pb-94-sm {
        padding-bottom: var(--sp-94) !important;
    }
    .u-pl-94-sm {
        padding-left: var(--sp-94) !important;
    }
    .u-pr-94-sm {
        padding-right: var(--sp-94) !important;
    }
    .u-m-94-sm {
        margin: var(--sp-94) !important;
    }
    .u-mx-94-sm {
        margin-left: var(--sp-94) !important;
        margin-right: var(--sp-94) !important;
    }
    .u-my-94-sm {
        margin-top: var(--sp-94) !important;
        margin-bottom: var(--sp-94) !important;
    }
    .u-mt-94-sm {
        margin-top: var(--sp-94) !important;
    }
    .u-mb-94-sm {
        margin-bottom: var(--sp-94) !important;
    }
    .u-ml-94-sm {
        margin-left: var(--sp-94) !important;
    }
    .u-mr-94-sm {
        margin-right: var(--sp-94) !important;
    }
    .u-gap-94-sm {
        gap: var(--sp-94) !important;
    }
    .u-p-96-sm {
        padding: var(--sp-96) !important;
    }
    .u-px-96-sm {
        padding-left: var(--sp-96) !important;
        padding-right: var(--sp-96) !important;
    }
    .u-py-96-sm {
        padding-top: var(--sp-96) !important;
        padding-bottom: var(--sp-96) !important;
    }
    .u-pt-96-sm {
        padding-top: var(--sp-96) !important;
    }
    .u-pb-96-sm {
        padding-bottom: var(--sp-96) !important;
    }
    .u-pl-96-sm {
        padding-left: var(--sp-96) !important;
    }
    .u-pr-96-sm {
        padding-right: var(--sp-96) !important;
    }
    .u-m-96-sm {
        margin: var(--sp-96) !important;
    }
    .u-mx-96-sm {
        margin-left: var(--sp-96) !important;
        margin-right: var(--sp-96) !important;
    }
    .u-my-96-sm {
        margin-top: var(--sp-96) !important;
        margin-bottom: var(--sp-96) !important;
    }
    .u-mt-96-sm {
        margin-top: var(--sp-96) !important;
    }
    .u-mb-96-sm {
        margin-bottom: var(--sp-96) !important;
    }
    .u-ml-96-sm {
        margin-left: var(--sp-96) !important;
    }
    .u-mr-96-sm {
        margin-right: var(--sp-96) !important;
    }
    .u-gap-96-sm {
        gap: var(--sp-96) !important;
    }
    .u-p-98-sm {
        padding: var(--sp-98) !important;
    }
    .u-px-98-sm {
        padding-left: var(--sp-98) !important;
        padding-right: var(--sp-98) !important;
    }
    .u-py-98-sm {
        padding-top: var(--sp-98) !important;
        padding-bottom: var(--sp-98) !important;
    }
    .u-pt-98-sm {
        padding-top: var(--sp-98) !important;
    }
    .u-pb-98-sm {
        padding-bottom: var(--sp-98) !important;
    }
    .u-pl-98-sm {
        padding-left: var(--sp-98) !important;
    }
    .u-pr-98-sm {
        padding-right: var(--sp-98) !important;
    }
    .u-m-98-sm {
        margin: var(--sp-98) !important;
    }
    .u-mx-98-sm {
        margin-left: var(--sp-98) !important;
        margin-right: var(--sp-98) !important;
    }
    .u-my-98-sm {
        margin-top: var(--sp-98) !important;
        margin-bottom: var(--sp-98) !important;
    }
    .u-mt-98-sm {
        margin-top: var(--sp-98) !important;
    }
    .u-mb-98-sm {
        margin-bottom: var(--sp-98) !important;
    }
    .u-ml-98-sm {
        margin-left: var(--sp-98) !important;
    }
    .u-mr-98-sm {
        margin-right: var(--sp-98) !important;
    }
    .u-gap-98-sm {
        gap: var(--sp-98) !important;
    }
    .u-p-100-sm {
        padding: var(--sp-100) !important;
    }
    .u-px-100-sm {
        padding-left: var(--sp-100) !important;
        padding-right: var(--sp-100) !important;
    }
    .u-py-100-sm {
        padding-top: var(--sp-100) !important;
        padding-bottom: var(--sp-100) !important;
    }
    .u-pt-100-sm {
        padding-top: var(--sp-100) !important;
    }
    .u-pb-100-sm {
        padding-bottom: var(--sp-100) !important;
    }
    .u-pl-100-sm {
        padding-left: var(--sp-100) !important;
    }
    .u-pr-100-sm {
        padding-right: var(--sp-100) !important;
    }
    .u-m-100-sm {
        margin: var(--sp-100) !important;
    }
    .u-mx-100-sm {
        margin-left: var(--sp-100) !important;
        margin-right: var(--sp-100) !important;
    }
    .u-my-100-sm {
        margin-top: var(--sp-100) !important;
        margin-bottom: var(--sp-100) !important;
    }
    .u-mt-100-sm {
        margin-top: var(--sp-100) !important;
    }
    .u-mb-100-sm {
        margin-bottom: var(--sp-100) !important;
    }
    .u-ml-100-sm {
        margin-left: var(--sp-100) !important;
    }
    .u-mr-100-sm {
        margin-right: var(--sp-100) !important;
    }
    .u-gap-100-sm {
        gap: var(--sp-100) !important;
    }
    .u-p-102-sm {
        padding: var(--sp-102) !important;
    }
    .u-px-102-sm {
        padding-left: var(--sp-102) !important;
        padding-right: var(--sp-102) !important;
    }
    .u-py-102-sm {
        padding-top: var(--sp-102) !important;
        padding-bottom: var(--sp-102) !important;
    }
    .u-pt-102-sm {
        padding-top: var(--sp-102) !important;
    }
    .u-pb-102-sm {
        padding-bottom: var(--sp-102) !important;
    }
    .u-pl-102-sm {
        padding-left: var(--sp-102) !important;
    }
    .u-pr-102-sm {
        padding-right: var(--sp-102) !important;
    }
    .u-m-102-sm {
        margin: var(--sp-102) !important;
    }
    .u-mx-102-sm {
        margin-left: var(--sp-102) !important;
        margin-right: var(--sp-102) !important;
    }
    .u-my-102-sm {
        margin-top: var(--sp-102) !important;
        margin-bottom: var(--sp-102) !important;
    }
    .u-mt-102-sm {
        margin-top: var(--sp-102) !important;
    }
    .u-mb-102-sm {
        margin-bottom: var(--sp-102) !important;
    }
    .u-ml-102-sm {
        margin-left: var(--sp-102) !important;
    }
    .u-mr-102-sm {
        margin-right: var(--sp-102) !important;
    }
    .u-gap-102-sm {
        gap: var(--sp-102) !important;
    }
    .u-p-104-sm {
        padding: var(--sp-104) !important;
    }
    .u-px-104-sm {
        padding-left: var(--sp-104) !important;
        padding-right: var(--sp-104) !important;
    }
    .u-py-104-sm {
        padding-top: var(--sp-104) !important;
        padding-bottom: var(--sp-104) !important;
    }
    .u-pt-104-sm {
        padding-top: var(--sp-104) !important;
    }
    .u-pb-104-sm {
        padding-bottom: var(--sp-104) !important;
    }
    .u-pl-104-sm {
        padding-left: var(--sp-104) !important;
    }
    .u-pr-104-sm {
        padding-right: var(--sp-104) !important;
    }
    .u-m-104-sm {
        margin: var(--sp-104) !important;
    }
    .u-mx-104-sm {
        margin-left: var(--sp-104) !important;
        margin-right: var(--sp-104) !important;
    }
    .u-my-104-sm {
        margin-top: var(--sp-104) !important;
        margin-bottom: var(--sp-104) !important;
    }
    .u-mt-104-sm {
        margin-top: var(--sp-104) !important;
    }
    .u-mb-104-sm {
        margin-bottom: var(--sp-104) !important;
    }
    .u-ml-104-sm {
        margin-left: var(--sp-104) !important;
    }
    .u-mr-104-sm {
        margin-right: var(--sp-104) !important;
    }
    .u-gap-104-sm {
        gap: var(--sp-104) !important;
    }
    .u-p-106-sm {
        padding: var(--sp-106) !important;
    }
    .u-px-106-sm {
        padding-left: var(--sp-106) !important;
        padding-right: var(--sp-106) !important;
    }
    .u-py-106-sm {
        padding-top: var(--sp-106) !important;
        padding-bottom: var(--sp-106) !important;
    }
    .u-pt-106-sm {
        padding-top: var(--sp-106) !important;
    }
    .u-pb-106-sm {
        padding-bottom: var(--sp-106) !important;
    }
    .u-pl-106-sm {
        padding-left: var(--sp-106) !important;
    }
    .u-pr-106-sm {
        padding-right: var(--sp-106) !important;
    }
    .u-m-106-sm {
        margin: var(--sp-106) !important;
    }
    .u-mx-106-sm {
        margin-left: var(--sp-106) !important;
        margin-right: var(--sp-106) !important;
    }
    .u-my-106-sm {
        margin-top: var(--sp-106) !important;
        margin-bottom: var(--sp-106) !important;
    }
    .u-mt-106-sm {
        margin-top: var(--sp-106) !important;
    }
    .u-mb-106-sm {
        margin-bottom: var(--sp-106) !important;
    }
    .u-ml-106-sm {
        margin-left: var(--sp-106) !important;
    }
    .u-mr-106-sm {
        margin-right: var(--sp-106) !important;
    }
    .u-gap-106-sm {
        gap: var(--sp-106) !important;
    }
    .u-p-108-sm {
        padding: var(--sp-108) !important;
    }
    .u-px-108-sm {
        padding-left: var(--sp-108) !important;
        padding-right: var(--sp-108) !important;
    }
    .u-py-108-sm {
        padding-top: var(--sp-108) !important;
        padding-bottom: var(--sp-108) !important;
    }
    .u-pt-108-sm {
        padding-top: var(--sp-108) !important;
    }
    .u-pb-108-sm {
        padding-bottom: var(--sp-108) !important;
    }
    .u-pl-108-sm {
        padding-left: var(--sp-108) !important;
    }
    .u-pr-108-sm {
        padding-right: var(--sp-108) !important;
    }
    .u-m-108-sm {
        margin: var(--sp-108) !important;
    }
    .u-mx-108-sm {
        margin-left: var(--sp-108) !important;
        margin-right: var(--sp-108) !important;
    }
    .u-my-108-sm {
        margin-top: var(--sp-108) !important;
        margin-bottom: var(--sp-108) !important;
    }
    .u-mt-108-sm {
        margin-top: var(--sp-108) !important;
    }
    .u-mb-108-sm {
        margin-bottom: var(--sp-108) !important;
    }
    .u-ml-108-sm {
        margin-left: var(--sp-108) !important;
    }
    .u-mr-108-sm {
        margin-right: var(--sp-108) !important;
    }
    .u-gap-108-sm {
        gap: var(--sp-108) !important;
    }
    .u-p-110-sm {
        padding: var(--sp-110) !important;
    }
    .u-px-110-sm {
        padding-left: var(--sp-110) !important;
        padding-right: var(--sp-110) !important;
    }
    .u-py-110-sm {
        padding-top: var(--sp-110) !important;
        padding-bottom: var(--sp-110) !important;
    }
    .u-pt-110-sm {
        padding-top: var(--sp-110) !important;
    }
    .u-pb-110-sm {
        padding-bottom: var(--sp-110) !important;
    }
    .u-pl-110-sm {
        padding-left: var(--sp-110) !important;
    }
    .u-pr-110-sm {
        padding-right: var(--sp-110) !important;
    }
    .u-m-110-sm {
        margin: var(--sp-110) !important;
    }
    .u-mx-110-sm {
        margin-left: var(--sp-110) !important;
        margin-right: var(--sp-110) !important;
    }
    .u-my-110-sm {
        margin-top: var(--sp-110) !important;
        margin-bottom: var(--sp-110) !important;
    }
    .u-mt-110-sm {
        margin-top: var(--sp-110) !important;
    }
    .u-mb-110-sm {
        margin-bottom: var(--sp-110) !important;
    }
    .u-ml-110-sm {
        margin-left: var(--sp-110) !important;
    }
    .u-mr-110-sm {
        margin-right: var(--sp-110) !important;
    }
    .u-gap-110-sm {
        gap: var(--sp-110) !important;
    }
    .u-p-112-sm {
        padding: var(--sp-112) !important;
    }
    .u-px-112-sm {
        padding-left: var(--sp-112) !important;
        padding-right: var(--sp-112) !important;
    }
    .u-py-112-sm {
        padding-top: var(--sp-112) !important;
        padding-bottom: var(--sp-112) !important;
    }
    .u-pt-112-sm {
        padding-top: var(--sp-112) !important;
    }
    .u-pb-112-sm {
        padding-bottom: var(--sp-112) !important;
    }
    .u-pl-112-sm {
        padding-left: var(--sp-112) !important;
    }
    .u-pr-112-sm {
        padding-right: var(--sp-112) !important;
    }
    .u-m-112-sm {
        margin: var(--sp-112) !important;
    }
    .u-mx-112-sm {
        margin-left: var(--sp-112) !important;
        margin-right: var(--sp-112) !important;
    }
    .u-my-112-sm {
        margin-top: var(--sp-112) !important;
        margin-bottom: var(--sp-112) !important;
    }
    .u-mt-112-sm {
        margin-top: var(--sp-112) !important;
    }
    .u-mb-112-sm {
        margin-bottom: var(--sp-112) !important;
    }
    .u-ml-112-sm {
        margin-left: var(--sp-112) !important;
    }
    .u-mr-112-sm {
        margin-right: var(--sp-112) !important;
    }
    .u-gap-112-sm {
        gap: var(--sp-112) !important;
    }
    .u-p-114-sm {
        padding: var(--sp-114) !important;
    }
    .u-px-114-sm {
        padding-left: var(--sp-114) !important;
        padding-right: var(--sp-114) !important;
    }
    .u-py-114-sm {
        padding-top: var(--sp-114) !important;
        padding-bottom: var(--sp-114) !important;
    }
    .u-pt-114-sm {
        padding-top: var(--sp-114) !important;
    }
    .u-pb-114-sm {
        padding-bottom: var(--sp-114) !important;
    }
    .u-pl-114-sm {
        padding-left: var(--sp-114) !important;
    }
    .u-pr-114-sm {
        padding-right: var(--sp-114) !important;
    }
    .u-m-114-sm {
        margin: var(--sp-114) !important;
    }
    .u-mx-114-sm {
        margin-left: var(--sp-114) !important;
        margin-right: var(--sp-114) !important;
    }
    .u-my-114-sm {
        margin-top: var(--sp-114) !important;
        margin-bottom: var(--sp-114) !important;
    }
    .u-mt-114-sm {
        margin-top: var(--sp-114) !important;
    }
    .u-mb-114-sm {
        margin-bottom: var(--sp-114) !important;
    }
    .u-ml-114-sm {
        margin-left: var(--sp-114) !important;
    }
    .u-mr-114-sm {
        margin-right: var(--sp-114) !important;
    }
    .u-gap-114-sm {
        gap: var(--sp-114) !important;
    }
    .u-p-116-sm {
        padding: var(--sp-116) !important;
    }
    .u-px-116-sm {
        padding-left: var(--sp-116) !important;
        padding-right: var(--sp-116) !important;
    }
    .u-py-116-sm {
        padding-top: var(--sp-116) !important;
        padding-bottom: var(--sp-116) !important;
    }
    .u-pt-116-sm {
        padding-top: var(--sp-116) !important;
    }
    .u-pb-116-sm {
        padding-bottom: var(--sp-116) !important;
    }
    .u-pl-116-sm {
        padding-left: var(--sp-116) !important;
    }
    .u-pr-116-sm {
        padding-right: var(--sp-116) !important;
    }
    .u-m-116-sm {
        margin: var(--sp-116) !important;
    }
    .u-mx-116-sm {
        margin-left: var(--sp-116) !important;
        margin-right: var(--sp-116) !important;
    }
    .u-my-116-sm {
        margin-top: var(--sp-116) !important;
        margin-bottom: var(--sp-116) !important;
    }
    .u-mt-116-sm {
        margin-top: var(--sp-116) !important;
    }
    .u-mb-116-sm {
        margin-bottom: var(--sp-116) !important;
    }
    .u-ml-116-sm {
        margin-left: var(--sp-116) !important;
    }
    .u-mr-116-sm {
        margin-right: var(--sp-116) !important;
    }
    .u-gap-116-sm {
        gap: var(--sp-116) !important;
    }
    .u-p-118-sm {
        padding: var(--sp-118) !important;
    }
    .u-px-118-sm {
        padding-left: var(--sp-118) !important;
        padding-right: var(--sp-118) !important;
    }
    .u-py-118-sm {
        padding-top: var(--sp-118) !important;
        padding-bottom: var(--sp-118) !important;
    }
    .u-pt-118-sm {
        padding-top: var(--sp-118) !important;
    }
    .u-pb-118-sm {
        padding-bottom: var(--sp-118) !important;
    }
    .u-pl-118-sm {
        padding-left: var(--sp-118) !important;
    }
    .u-pr-118-sm {
        padding-right: var(--sp-118) !important;
    }
    .u-m-118-sm {
        margin: var(--sp-118) !important;
    }
    .u-mx-118-sm {
        margin-left: var(--sp-118) !important;
        margin-right: var(--sp-118) !important;
    }
    .u-my-118-sm {
        margin-top: var(--sp-118) !important;
        margin-bottom: var(--sp-118) !important;
    }
    .u-mt-118-sm {
        margin-top: var(--sp-118) !important;
    }
    .u-mb-118-sm {
        margin-bottom: var(--sp-118) !important;
    }
    .u-ml-118-sm {
        margin-left: var(--sp-118) !important;
    }
    .u-mr-118-sm {
        margin-right: var(--sp-118) !important;
    }
    .u-gap-118-sm {
        gap: var(--sp-118) !important;
    }
    .u-p-120-sm {
        padding: var(--sp-120) !important;
    }
    .u-px-120-sm {
        padding-left: var(--sp-120) !important;
        padding-right: var(--sp-120) !important;
    }
    .u-py-120-sm {
        padding-top: var(--sp-120) !important;
        padding-bottom: var(--sp-120) !important;
    }
    .u-pt-120-sm {
        padding-top: var(--sp-120) !important;
    }
    .u-pb-120-sm {
        padding-bottom: var(--sp-120) !important;
    }
    .u-pl-120-sm {
        padding-left: var(--sp-120) !important;
    }
    .u-pr-120-sm {
        padding-right: var(--sp-120) !important;
    }
    .u-m-120-sm {
        margin: var(--sp-120) !important;
    }
    .u-mx-120-sm {
        margin-left: var(--sp-120) !important;
        margin-right: var(--sp-120) !important;
    }
    .u-my-120-sm {
        margin-top: var(--sp-120) !important;
        margin-bottom: var(--sp-120) !important;
    }
    .u-mt-120-sm {
        margin-top: var(--sp-120) !important;
    }
    .u-mb-120-sm {
        margin-bottom: var(--sp-120) !important;
    }
    .u-ml-120-sm {
        margin-left: var(--sp-120) !important;
    }
    .u-mr-120-sm {
        margin-right: var(--sp-120) !important;
    }
    .u-gap-120-sm {
        gap: var(--sp-120) !important;
    }
    .u-p-125-sm {
        padding: var(--sp-125) !important;
    }
    .u-px-125-sm {
        padding-left: var(--sp-125) !important;
        padding-right: var(--sp-125) !important;
    }
    .u-py-125-sm {
        padding-top: var(--sp-125) !important;
        padding-bottom: var(--sp-125) !important;
    }
    .u-pt-125-sm {
        padding-top: var(--sp-125) !important;
    }
    .u-pb-125-sm {
        padding-bottom: var(--sp-125) !important;
    }
    .u-pl-125-sm {
        padding-left: var(--sp-125) !important;
    }
    .u-pr-125-sm {
        padding-right: var(--sp-125) !important;
    }
    .u-m-125-sm {
        margin: var(--sp-125) !important;
    }
    .u-mx-125-sm {
        margin-left: var(--sp-125) !important;
        margin-right: var(--sp-125) !important;
    }
    .u-my-125-sm {
        margin-top: var(--sp-125) !important;
        margin-bottom: var(--sp-125) !important;
    }
    .u-mt-125-sm {
        margin-top: var(--sp-125) !important;
    }
    .u-mb-125-sm {
        margin-bottom: var(--sp-125) !important;
    }
    .u-ml-125-sm {
        margin-left: var(--sp-125) !important;
    }
    .u-mr-125-sm {
        margin-right: var(--sp-125) !important;
    }
    .u-gap-125-sm {
        gap: var(--sp-125) !important;
    }
    .u-p-130-sm {
        padding: var(--sp-130) !important;
    }
    .u-px-130-sm {
        padding-left: var(--sp-130) !important;
        padding-right: var(--sp-130) !important;
    }
    .u-py-130-sm {
        padding-top: var(--sp-130) !important;
        padding-bottom: var(--sp-130) !important;
    }
    .u-pt-130-sm {
        padding-top: var(--sp-130) !important;
    }
    .u-pb-130-sm {
        padding-bottom: var(--sp-130) !important;
    }
    .u-pl-130-sm {
        padding-left: var(--sp-130) !important;
    }
    .u-pr-130-sm {
        padding-right: var(--sp-130) !important;
    }
    .u-m-130-sm {
        margin: var(--sp-130) !important;
    }
    .u-mx-130-sm {
        margin-left: var(--sp-130) !important;
        margin-right: var(--sp-130) !important;
    }
    .u-my-130-sm {
        margin-top: var(--sp-130) !important;
        margin-bottom: var(--sp-130) !important;
    }
    .u-mt-130-sm {
        margin-top: var(--sp-130) !important;
    }
    .u-mb-130-sm {
        margin-bottom: var(--sp-130) !important;
    }
    .u-ml-130-sm {
        margin-left: var(--sp-130) !important;
    }
    .u-mr-130-sm {
        margin-right: var(--sp-130) !important;
    }
    .u-gap-130-sm {
        gap: var(--sp-130) !important;
    }
    .u-p-135-sm {
        padding: var(--sp-135) !important;
    }
    .u-px-135-sm {
        padding-left: var(--sp-135) !important;
        padding-right: var(--sp-135) !important;
    }
    .u-py-135-sm {
        padding-top: var(--sp-135) !important;
        padding-bottom: var(--sp-135) !important;
    }
    .u-pt-135-sm {
        padding-top: var(--sp-135) !important;
    }
    .u-pb-135-sm {
        padding-bottom: var(--sp-135) !important;
    }
    .u-pl-135-sm {
        padding-left: var(--sp-135) !important;
    }
    .u-pr-135-sm {
        padding-right: var(--sp-135) !important;
    }
    .u-m-135-sm {
        margin: var(--sp-135) !important;
    }
    .u-mx-135-sm {
        margin-left: var(--sp-135) !important;
        margin-right: var(--sp-135) !important;
    }
    .u-my-135-sm {
        margin-top: var(--sp-135) !important;
        margin-bottom: var(--sp-135) !important;
    }
    .u-mt-135-sm {
        margin-top: var(--sp-135) !important;
    }
    .u-mb-135-sm {
        margin-bottom: var(--sp-135) !important;
    }
    .u-ml-135-sm {
        margin-left: var(--sp-135) !important;
    }
    .u-mr-135-sm {
        margin-right: var(--sp-135) !important;
    }
    .u-gap-135-sm {
        gap: var(--sp-135) !important;
    }
    .u-p-140-sm {
        padding: var(--sp-140) !important;
    }
    .u-px-140-sm {
        padding-left: var(--sp-140) !important;
        padding-right: var(--sp-140) !important;
    }
    .u-py-140-sm {
        padding-top: var(--sp-140) !important;
        padding-bottom: var(--sp-140) !important;
    }
    .u-pt-140-sm {
        padding-top: var(--sp-140) !important;
    }
    .u-pb-140-sm {
        padding-bottom: var(--sp-140) !important;
    }
    .u-pl-140-sm {
        padding-left: var(--sp-140) !important;
    }
    .u-pr-140-sm {
        padding-right: var(--sp-140) !important;
    }
    .u-m-140-sm {
        margin: var(--sp-140) !important;
    }
    .u-mx-140-sm {
        margin-left: var(--sp-140) !important;
        margin-right: var(--sp-140) !important;
    }
    .u-my-140-sm {
        margin-top: var(--sp-140) !important;
        margin-bottom: var(--sp-140) !important;
    }
    .u-mt-140-sm {
        margin-top: var(--sp-140) !important;
    }
    .u-mb-140-sm {
        margin-bottom: var(--sp-140) !important;
    }
    .u-ml-140-sm {
        margin-left: var(--sp-140) !important;
    }
    .u-mr-140-sm {
        margin-right: var(--sp-140) !important;
    }
    .u-gap-140-sm {
        gap: var(--sp-140) !important;
    }
    .u-p-145-sm {
        padding: var(--sp-145) !important;
    }
    .u-px-145-sm {
        padding-left: var(--sp-145) !important;
        padding-right: var(--sp-145) !important;
    }
    .u-py-145-sm {
        padding-top: var(--sp-145) !important;
        padding-bottom: var(--sp-145) !important;
    }
    .u-pt-145-sm {
        padding-top: var(--sp-145) !important;
    }
    .u-pb-145-sm {
        padding-bottom: var(--sp-145) !important;
    }
    .u-pl-145-sm {
        padding-left: var(--sp-145) !important;
    }
    .u-pr-145-sm {
        padding-right: var(--sp-145) !important;
    }
    .u-m-145-sm {
        margin: var(--sp-145) !important;
    }
    .u-mx-145-sm {
        margin-left: var(--sp-145) !important;
        margin-right: var(--sp-145) !important;
    }
    .u-my-145-sm {
        margin-top: var(--sp-145) !important;
        margin-bottom: var(--sp-145) !important;
    }
    .u-mt-145-sm {
        margin-top: var(--sp-145) !important;
    }
    .u-mb-145-sm {
        margin-bottom: var(--sp-145) !important;
    }
    .u-ml-145-sm {
        margin-left: var(--sp-145) !important;
    }
    .u-mr-145-sm {
        margin-right: var(--sp-145) !important;
    }
    .u-gap-145-sm {
        gap: var(--sp-145) !important;
    }
    .u-p-150-sm {
        padding: var(--sp-150) !important;
    }
    .u-px-150-sm {
        padding-left: var(--sp-150) !important;
        padding-right: var(--sp-150) !important;
    }
    .u-py-150-sm {
        padding-top: var(--sp-150) !important;
        padding-bottom: var(--sp-150) !important;
    }
    .u-pt-150-sm {
        padding-top: var(--sp-150) !important;
    }
    .u-pb-150-sm {
        padding-bottom: var(--sp-150) !important;
    }
    .u-pl-150-sm {
        padding-left: var(--sp-150) !important;
    }
    .u-pr-150-sm {
        padding-right: var(--sp-150) !important;
    }
    .u-m-150-sm {
        margin: var(--sp-150) !important;
    }
    .u-mx-150-sm {
        margin-left: var(--sp-150) !important;
        margin-right: var(--sp-150) !important;
    }
    .u-my-150-sm {
        margin-top: var(--sp-150) !important;
        margin-bottom: var(--sp-150) !important;
    }
    .u-mt-150-sm {
        margin-top: var(--sp-150) !important;
    }
    .u-mb-150-sm {
        margin-bottom: var(--sp-150) !important;
    }
    .u-ml-150-sm {
        margin-left: var(--sp-150) !important;
    }
    .u-mr-150-sm {
        margin-right: var(--sp-150) !important;
    }
    .u-gap-150-sm {
        gap: var(--sp-150) !important;
    }
    .u-p-155-sm {
        padding: var(--sp-155) !important;
    }
    .u-px-155-sm {
        padding-left: var(--sp-155) !important;
        padding-right: var(--sp-155) !important;
    }
    .u-py-155-sm {
        padding-top: var(--sp-155) !important;
        padding-bottom: var(--sp-155) !important;
    }
    .u-pt-155-sm {
        padding-top: var(--sp-155) !important;
    }
    .u-pb-155-sm {
        padding-bottom: var(--sp-155) !important;
    }
    .u-pl-155-sm {
        padding-left: var(--sp-155) !important;
    }
    .u-pr-155-sm {
        padding-right: var(--sp-155) !important;
    }
    .u-m-155-sm {
        margin: var(--sp-155) !important;
    }
    .u-mx-155-sm {
        margin-left: var(--sp-155) !important;
        margin-right: var(--sp-155) !important;
    }
    .u-my-155-sm {
        margin-top: var(--sp-155) !important;
        margin-bottom: var(--sp-155) !important;
    }
    .u-mt-155-sm {
        margin-top: var(--sp-155) !important;
    }
    .u-mb-155-sm {
        margin-bottom: var(--sp-155) !important;
    }
    .u-ml-155-sm {
        margin-left: var(--sp-155) !important;
    }
    .u-mr-155-sm {
        margin-right: var(--sp-155) !important;
    }
    .u-gap-155-sm {
        gap: var(--sp-155) !important;
    }
    .u-p-160-sm {
        padding: var(--sp-160) !important;
    }
    .u-px-160-sm {
        padding-left: var(--sp-160) !important;
        padding-right: var(--sp-160) !important;
    }
    .u-py-160-sm {
        padding-top: var(--sp-160) !important;
        padding-bottom: var(--sp-160) !important;
    }
    .u-pt-160-sm {
        padding-top: var(--sp-160) !important;
    }
    .u-pb-160-sm {
        padding-bottom: var(--sp-160) !important;
    }
    .u-pl-160-sm {
        padding-left: var(--sp-160) !important;
    }
    .u-pr-160-sm {
        padding-right: var(--sp-160) !important;
    }
    .u-m-160-sm {
        margin: var(--sp-160) !important;
    }
    .u-mx-160-sm {
        margin-left: var(--sp-160) !important;
        margin-right: var(--sp-160) !important;
    }
    .u-my-160-sm {
        margin-top: var(--sp-160) !important;
        margin-bottom: var(--sp-160) !important;
    }
    .u-mt-160-sm {
        margin-top: var(--sp-160) !important;
    }
    .u-mb-160-sm {
        margin-bottom: var(--sp-160) !important;
    }
    .u-ml-160-sm {
        margin-left: var(--sp-160) !important;
    }
    .u-mr-160-sm {
        margin-right: var(--sp-160) !important;
    }
    .u-gap-160-sm {
        gap: var(--sp-160) !important;
    }
    .u-p-165-sm {
        padding: var(--sp-165) !important;
    }
    .u-px-165-sm {
        padding-left: var(--sp-165) !important;
        padding-right: var(--sp-165) !important;
    }
    .u-py-165-sm {
        padding-top: var(--sp-165) !important;
        padding-bottom: var(--sp-165) !important;
    }
    .u-pt-165-sm {
        padding-top: var(--sp-165) !important;
    }
    .u-pb-165-sm {
        padding-bottom: var(--sp-165) !important;
    }
    .u-pl-165-sm {
        padding-left: var(--sp-165) !important;
    }
    .u-pr-165-sm {
        padding-right: var(--sp-165) !important;
    }
    .u-m-165-sm {
        margin: var(--sp-165) !important;
    }
    .u-mx-165-sm {
        margin-left: var(--sp-165) !important;
        margin-right: var(--sp-165) !important;
    }
    .u-my-165-sm {
        margin-top: var(--sp-165) !important;
        margin-bottom: var(--sp-165) !important;
    }
    .u-mt-165-sm {
        margin-top: var(--sp-165) !important;
    }
    .u-mb-165-sm {
        margin-bottom: var(--sp-165) !important;
    }
    .u-ml-165-sm {
        margin-left: var(--sp-165) !important;
    }
    .u-mr-165-sm {
        margin-right: var(--sp-165) !important;
    }
    .u-gap-165-sm {
        gap: var(--sp-165) !important;
    }
    .u-p-170-sm {
        padding: var(--sp-170) !important;
    }
    .u-px-170-sm {
        padding-left: var(--sp-170) !important;
        padding-right: var(--sp-170) !important;
    }
    .u-py-170-sm {
        padding-top: var(--sp-170) !important;
        padding-bottom: var(--sp-170) !important;
    }
    .u-pt-170-sm {
        padding-top: var(--sp-170) !important;
    }
    .u-pb-170-sm {
        padding-bottom: var(--sp-170) !important;
    }
    .u-pl-170-sm {
        padding-left: var(--sp-170) !important;
    }
    .u-pr-170-sm {
        padding-right: var(--sp-170) !important;
    }
    .u-m-170-sm {
        margin: var(--sp-170) !important;
    }
    .u-mx-170-sm {
        margin-left: var(--sp-170) !important;
        margin-right: var(--sp-170) !important;
    }
    .u-my-170-sm {
        margin-top: var(--sp-170) !important;
        margin-bottom: var(--sp-170) !important;
    }
    .u-mt-170-sm {
        margin-top: var(--sp-170) !important;
    }
    .u-mb-170-sm {
        margin-bottom: var(--sp-170) !important;
    }
    .u-ml-170-sm {
        margin-left: var(--sp-170) !important;
    }
    .u-mr-170-sm {
        margin-right: var(--sp-170) !important;
    }
    .u-gap-170-sm {
        gap: var(--sp-170) !important;
    }
    .u-p-175-sm {
        padding: var(--sp-175) !important;
    }
    .u-px-175-sm {
        padding-left: var(--sp-175) !important;
        padding-right: var(--sp-175) !important;
    }
    .u-py-175-sm {
        padding-top: var(--sp-175) !important;
        padding-bottom: var(--sp-175) !important;
    }
    .u-pt-175-sm {
        padding-top: var(--sp-175) !important;
    }
    .u-pb-175-sm {
        padding-bottom: var(--sp-175) !important;
    }
    .u-pl-175-sm {
        padding-left: var(--sp-175) !important;
    }
    .u-pr-175-sm {
        padding-right: var(--sp-175) !important;
    }
    .u-m-175-sm {
        margin: var(--sp-175) !important;
    }
    .u-mx-175-sm {
        margin-left: var(--sp-175) !important;
        margin-right: var(--sp-175) !important;
    }
    .u-my-175-sm {
        margin-top: var(--sp-175) !important;
        margin-bottom: var(--sp-175) !important;
    }
    .u-mt-175-sm {
        margin-top: var(--sp-175) !important;
    }
    .u-mb-175-sm {
        margin-bottom: var(--sp-175) !important;
    }
    .u-ml-175-sm {
        margin-left: var(--sp-175) !important;
    }
    .u-mr-175-sm {
        margin-right: var(--sp-175) !important;
    }
    .u-gap-175-sm {
        gap: var(--sp-175) !important;
    }
    .u-p-180-sm {
        padding: var(--sp-180) !important;
    }
    .u-px-180-sm {
        padding-left: var(--sp-180) !important;
        padding-right: var(--sp-180) !important;
    }
    .u-py-180-sm {
        padding-top: var(--sp-180) !important;
        padding-bottom: var(--sp-180) !important;
    }
    .u-pt-180-sm {
        padding-top: var(--sp-180) !important;
    }
    .u-pb-180-sm {
        padding-bottom: var(--sp-180) !important;
    }
    .u-pl-180-sm {
        padding-left: var(--sp-180) !important;
    }
    .u-pr-180-sm {
        padding-right: var(--sp-180) !important;
    }
    .u-m-180-sm {
        margin: var(--sp-180) !important;
    }
    .u-mx-180-sm {
        margin-left: var(--sp-180) !important;
        margin-right: var(--sp-180) !important;
    }
    .u-my-180-sm {
        margin-top: var(--sp-180) !important;
        margin-bottom: var(--sp-180) !important;
    }
    .u-mt-180-sm {
        margin-top: var(--sp-180) !important;
    }
    .u-mb-180-sm {
        margin-bottom: var(--sp-180) !important;
    }
    .u-ml-180-sm {
        margin-left: var(--sp-180) !important;
    }
    .u-mr-180-sm {
        margin-right: var(--sp-180) !important;
    }
    .u-gap-180-sm {
        gap: var(--sp-180) !important;
    }
    .u-p-185-sm {
        padding: var(--sp-185) !important;
    }
    .u-px-185-sm {
        padding-left: var(--sp-185) !important;
        padding-right: var(--sp-185) !important;
    }
    .u-py-185-sm {
        padding-top: var(--sp-185) !important;
        padding-bottom: var(--sp-185) !important;
    }
    .u-pt-185-sm {
        padding-top: var(--sp-185) !important;
    }
    .u-pb-185-sm {
        padding-bottom: var(--sp-185) !important;
    }
    .u-pl-185-sm {
        padding-left: var(--sp-185) !important;
    }
    .u-pr-185-sm {
        padding-right: var(--sp-185) !important;
    }
    .u-m-185-sm {
        margin: var(--sp-185) !important;
    }
    .u-mx-185-sm {
        margin-left: var(--sp-185) !important;
        margin-right: var(--sp-185) !important;
    }
    .u-my-185-sm {
        margin-top: var(--sp-185) !important;
        margin-bottom: var(--sp-185) !important;
    }
    .u-mt-185-sm {
        margin-top: var(--sp-185) !important;
    }
    .u-mb-185-sm {
        margin-bottom: var(--sp-185) !important;
    }
    .u-ml-185-sm {
        margin-left: var(--sp-185) !important;
    }
    .u-mr-185-sm {
        margin-right: var(--sp-185) !important;
    }
    .u-gap-185-sm {
        gap: var(--sp-185) !important;
    }
    .u-p-190-sm {
        padding: var(--sp-190) !important;
    }
    .u-px-190-sm {
        padding-left: var(--sp-190) !important;
        padding-right: var(--sp-190) !important;
    }
    .u-py-190-sm {
        padding-top: var(--sp-190) !important;
        padding-bottom: var(--sp-190) !important;
    }
    .u-pt-190-sm {
        padding-top: var(--sp-190) !important;
    }
    .u-pb-190-sm {
        padding-bottom: var(--sp-190) !important;
    }
    .u-pl-190-sm {
        padding-left: var(--sp-190) !important;
    }
    .u-pr-190-sm {
        padding-right: var(--sp-190) !important;
    }
    .u-m-190-sm {
        margin: var(--sp-190) !important;
    }
    .u-mx-190-sm {
        margin-left: var(--sp-190) !important;
        margin-right: var(--sp-190) !important;
    }
    .u-my-190-sm {
        margin-top: var(--sp-190) !important;
        margin-bottom: var(--sp-190) !important;
    }
    .u-mt-190-sm {
        margin-top: var(--sp-190) !important;
    }
    .u-mb-190-sm {
        margin-bottom: var(--sp-190) !important;
    }
    .u-ml-190-sm {
        margin-left: var(--sp-190) !important;
    }
    .u-mr-190-sm {
        margin-right: var(--sp-190) !important;
    }
    .u-gap-190-sm {
        gap: var(--sp-190) !important;
    }
    .u-p-195-sm {
        padding: var(--sp-195) !important;
    }
    .u-px-195-sm {
        padding-left: var(--sp-195) !important;
        padding-right: var(--sp-195) !important;
    }
    .u-py-195-sm {
        padding-top: var(--sp-195) !important;
        padding-bottom: var(--sp-195) !important;
    }
    .u-pt-195-sm {
        padding-top: var(--sp-195) !important;
    }
    .u-pb-195-sm {
        padding-bottom: var(--sp-195) !important;
    }
    .u-pl-195-sm {
        padding-left: var(--sp-195) !important;
    }
    .u-pr-195-sm {
        padding-right: var(--sp-195) !important;
    }
    .u-m-195-sm {
        margin: var(--sp-195) !important;
    }
    .u-mx-195-sm {
        margin-left: var(--sp-195) !important;
        margin-right: var(--sp-195) !important;
    }
    .u-my-195-sm {
        margin-top: var(--sp-195) !important;
        margin-bottom: var(--sp-195) !important;
    }
    .u-mt-195-sm {
        margin-top: var(--sp-195) !important;
    }
    .u-mb-195-sm {
        margin-bottom: var(--sp-195) !important;
    }
    .u-ml-195-sm {
        margin-left: var(--sp-195) !important;
    }
    .u-mr-195-sm {
        margin-right: var(--sp-195) !important;
    }
    .u-gap-195-sm {
        gap: var(--sp-195) !important;
    }
    .u-p-200-sm {
        padding: var(--sp-200) !important;
    }
    .u-px-200-sm {
        padding-left: var(--sp-200) !important;
        padding-right: var(--sp-200) !important;
    }
    .u-py-200-sm {
        padding-top: var(--sp-200) !important;
        padding-bottom: var(--sp-200) !important;
    }
    .u-pt-200-sm {
        padding-top: var(--sp-200) !important;
    }
    .u-pb-200-sm {
        padding-bottom: var(--sp-200) !important;
    }
    .u-pl-200-sm {
        padding-left: var(--sp-200) !important;
    }
    .u-pr-200-sm {
        padding-right: var(--sp-200) !important;
    }
    .u-m-200-sm {
        margin: var(--sp-200) !important;
    }
    .u-mx-200-sm {
        margin-left: var(--sp-200) !important;
        margin-right: var(--sp-200) !important;
    }
    .u-my-200-sm {
        margin-top: var(--sp-200) !important;
        margin-bottom: var(--sp-200) !important;
    }
    .u-mt-200-sm {
        margin-top: var(--sp-200) !important;
    }
    .u-mb-200-sm {
        margin-bottom: var(--sp-200) !important;
    }
    .u-ml-200-sm {
        margin-left: var(--sp-200) !important;
    }
    .u-mr-200-sm {
        margin-right: var(--sp-200) !important;
    }
    .u-gap-200-sm {
        gap: var(--sp-200) !important;
    }
    .u-p-205-sm {
        padding: var(--sp-205) !important;
    }
    .u-px-205-sm {
        padding-left: var(--sp-205) !important;
        padding-right: var(--sp-205) !important;
    }
    .u-py-205-sm {
        padding-top: var(--sp-205) !important;
        padding-bottom: var(--sp-205) !important;
    }
    .u-pt-205-sm {
        padding-top: var(--sp-205) !important;
    }
    .u-pb-205-sm {
        padding-bottom: var(--sp-205) !important;
    }
    .u-pl-205-sm {
        padding-left: var(--sp-205) !important;
    }
    .u-pr-205-sm {
        padding-right: var(--sp-205) !important;
    }
    .u-m-205-sm {
        margin: var(--sp-205) !important;
    }
    .u-mx-205-sm {
        margin-left: var(--sp-205) !important;
        margin-right: var(--sp-205) !important;
    }
    .u-my-205-sm {
        margin-top: var(--sp-205) !important;
        margin-bottom: var(--sp-205) !important;
    }
    .u-mt-205-sm {
        margin-top: var(--sp-205) !important;
    }
    .u-mb-205-sm {
        margin-bottom: var(--sp-205) !important;
    }
    .u-ml-205-sm {
        margin-left: var(--sp-205) !important;
    }
    .u-mr-205-sm {
        margin-right: var(--sp-205) !important;
    }
    .u-gap-205-sm {
        gap: var(--sp-205) !important;
    }
    .u-p-210-sm {
        padding: var(--sp-210) !important;
    }
    .u-px-210-sm {
        padding-left: var(--sp-210) !important;
        padding-right: var(--sp-210) !important;
    }
    .u-py-210-sm {
        padding-top: var(--sp-210) !important;
        padding-bottom: var(--sp-210) !important;
    }
    .u-pt-210-sm {
        padding-top: var(--sp-210) !important;
    }
    .u-pb-210-sm {
        padding-bottom: var(--sp-210) !important;
    }
    .u-pl-210-sm {
        padding-left: var(--sp-210) !important;
    }
    .u-pr-210-sm {
        padding-right: var(--sp-210) !important;
    }
    .u-m-210-sm {
        margin: var(--sp-210) !important;
    }
    .u-mx-210-sm {
        margin-left: var(--sp-210) !important;
        margin-right: var(--sp-210) !important;
    }
    .u-my-210-sm {
        margin-top: var(--sp-210) !important;
        margin-bottom: var(--sp-210) !important;
    }
    .u-mt-210-sm {
        margin-top: var(--sp-210) !important;
    }
    .u-mb-210-sm {
        margin-bottom: var(--sp-210) !important;
    }
    .u-ml-210-sm {
        margin-left: var(--sp-210) !important;
    }
    .u-mr-210-sm {
        margin-right: var(--sp-210) !important;
    }
    .u-gap-210-sm {
        gap: var(--sp-210) !important;
    }
    .u-p-215-sm {
        padding: var(--sp-215) !important;
    }
    .u-px-215-sm {
        padding-left: var(--sp-215) !important;
        padding-right: var(--sp-215) !important;
    }
    .u-py-215-sm {
        padding-top: var(--sp-215) !important;
        padding-bottom: var(--sp-215) !important;
    }
    .u-pt-215-sm {
        padding-top: var(--sp-215) !important;
    }
    .u-pb-215-sm {
        padding-bottom: var(--sp-215) !important;
    }
    .u-pl-215-sm {
        padding-left: var(--sp-215) !important;
    }
    .u-pr-215-sm {
        padding-right: var(--sp-215) !important;
    }
    .u-m-215-sm {
        margin: var(--sp-215) !important;
    }
    .u-mx-215-sm {
        margin-left: var(--sp-215) !important;
        margin-right: var(--sp-215) !important;
    }
    .u-my-215-sm {
        margin-top: var(--sp-215) !important;
        margin-bottom: var(--sp-215) !important;
    }
    .u-mt-215-sm {
        margin-top: var(--sp-215) !important;
    }
    .u-mb-215-sm {
        margin-bottom: var(--sp-215) !important;
    }
    .u-ml-215-sm {
        margin-left: var(--sp-215) !important;
    }
    .u-mr-215-sm {
        margin-right: var(--sp-215) !important;
    }
    .u-gap-215-sm {
        gap: var(--sp-215) !important;
    }
    .u-p-220-sm {
        padding: var(--sp-220) !important;
    }
    .u-px-220-sm {
        padding-left: var(--sp-220) !important;
        padding-right: var(--sp-220) !important;
    }
    .u-py-220-sm {
        padding-top: var(--sp-220) !important;
        padding-bottom: var(--sp-220) !important;
    }
    .u-pt-220-sm {
        padding-top: var(--sp-220) !important;
    }
    .u-pb-220-sm {
        padding-bottom: var(--sp-220) !important;
    }
    .u-pl-220-sm {
        padding-left: var(--sp-220) !important;
    }
    .u-pr-220-sm {
        padding-right: var(--sp-220) !important;
    }
    .u-m-220-sm {
        margin: var(--sp-220) !important;
    }
    .u-mx-220-sm {
        margin-left: var(--sp-220) !important;
        margin-right: var(--sp-220) !important;
    }
    .u-my-220-sm {
        margin-top: var(--sp-220) !important;
        margin-bottom: var(--sp-220) !important;
    }
    .u-mt-220-sm {
        margin-top: var(--sp-220) !important;
    }
    .u-mb-220-sm {
        margin-bottom: var(--sp-220) !important;
    }
    .u-ml-220-sm {
        margin-left: var(--sp-220) !important;
    }
    .u-mr-220-sm {
        margin-right: var(--sp-220) !important;
    }
    .u-gap-220-sm {
        gap: var(--sp-220) !important;
    }
    .u-p-225-sm {
        padding: var(--sp-225) !important;
    }
    .u-px-225-sm {
        padding-left: var(--sp-225) !important;
        padding-right: var(--sp-225) !important;
    }
    .u-py-225-sm {
        padding-top: var(--sp-225) !important;
        padding-bottom: var(--sp-225) !important;
    }
    .u-pt-225-sm {
        padding-top: var(--sp-225) !important;
    }
    .u-pb-225-sm {
        padding-bottom: var(--sp-225) !important;
    }
    .u-pl-225-sm {
        padding-left: var(--sp-225) !important;
    }
    .u-pr-225-sm {
        padding-right: var(--sp-225) !important;
    }
    .u-m-225-sm {
        margin: var(--sp-225) !important;
    }
    .u-mx-225-sm {
        margin-left: var(--sp-225) !important;
        margin-right: var(--sp-225) !important;
    }
    .u-my-225-sm {
        margin-top: var(--sp-225) !important;
        margin-bottom: var(--sp-225) !important;
    }
    .u-mt-225-sm {
        margin-top: var(--sp-225) !important;
    }
    .u-mb-225-sm {
        margin-bottom: var(--sp-225) !important;
    }
    .u-ml-225-sm {
        margin-left: var(--sp-225) !important;
    }
    .u-mr-225-sm {
        margin-right: var(--sp-225) !important;
    }
    .u-gap-225-sm {
        gap: var(--sp-225) !important;
    }
    .u-p-230-sm {
        padding: var(--sp-230) !important;
    }
    .u-px-230-sm {
        padding-left: var(--sp-230) !important;
        padding-right: var(--sp-230) !important;
    }
    .u-py-230-sm {
        padding-top: var(--sp-230) !important;
        padding-bottom: var(--sp-230) !important;
    }
    .u-pt-230-sm {
        padding-top: var(--sp-230) !important;
    }
    .u-pb-230-sm {
        padding-bottom: var(--sp-230) !important;
    }
    .u-pl-230-sm {
        padding-left: var(--sp-230) !important;
    }
    .u-pr-230-sm {
        padding-right: var(--sp-230) !important;
    }
    .u-m-230-sm {
        margin: var(--sp-230) !important;
    }
    .u-mx-230-sm {
        margin-left: var(--sp-230) !important;
        margin-right: var(--sp-230) !important;
    }
    .u-my-230-sm {
        margin-top: var(--sp-230) !important;
        margin-bottom: var(--sp-230) !important;
    }
    .u-mt-230-sm {
        margin-top: var(--sp-230) !important;
    }
    .u-mb-230-sm {
        margin-bottom: var(--sp-230) !important;
    }
    .u-ml-230-sm {
        margin-left: var(--sp-230) !important;
    }
    .u-mr-230-sm {
        margin-right: var(--sp-230) !important;
    }
    .u-gap-230-sm {
        gap: var(--sp-230) !important;
    }
    .u-p-235-sm {
        padding: var(--sp-235) !important;
    }
    .u-px-235-sm {
        padding-left: var(--sp-235) !important;
        padding-right: var(--sp-235) !important;
    }
    .u-py-235-sm {
        padding-top: var(--sp-235) !important;
        padding-bottom: var(--sp-235) !important;
    }
    .u-pt-235-sm {
        padding-top: var(--sp-235) !important;
    }
    .u-pb-235-sm {
        padding-bottom: var(--sp-235) !important;
    }
    .u-pl-235-sm {
        padding-left: var(--sp-235) !important;
    }
    .u-pr-235-sm {
        padding-right: var(--sp-235) !important;
    }
    .u-m-235-sm {
        margin: var(--sp-235) !important;
    }
    .u-mx-235-sm {
        margin-left: var(--sp-235) !important;
        margin-right: var(--sp-235) !important;
    }
    .u-my-235-sm {
        margin-top: var(--sp-235) !important;
        margin-bottom: var(--sp-235) !important;
    }
    .u-mt-235-sm {
        margin-top: var(--sp-235) !important;
    }
    .u-mb-235-sm {
        margin-bottom: var(--sp-235) !important;
    }
    .u-ml-235-sm {
        margin-left: var(--sp-235) !important;
    }
    .u-mr-235-sm {
        margin-right: var(--sp-235) !important;
    }
    .u-gap-235-sm {
        gap: var(--sp-235) !important;
    }
    .u-p-240-sm {
        padding: var(--sp-240) !important;
    }
    .u-px-240-sm {
        padding-left: var(--sp-240) !important;
        padding-right: var(--sp-240) !important;
    }
    .u-py-240-sm {
        padding-top: var(--sp-240) !important;
        padding-bottom: var(--sp-240) !important;
    }
    .u-pt-240-sm {
        padding-top: var(--sp-240) !important;
    }
    .u-pb-240-sm {
        padding-bottom: var(--sp-240) !important;
    }
    .u-pl-240-sm {
        padding-left: var(--sp-240) !important;
    }
    .u-pr-240-sm {
        padding-right: var(--sp-240) !important;
    }
    .u-m-240-sm {
        margin: var(--sp-240) !important;
    }
    .u-mx-240-sm {
        margin-left: var(--sp-240) !important;
        margin-right: var(--sp-240) !important;
    }
    .u-my-240-sm {
        margin-top: var(--sp-240) !important;
        margin-bottom: var(--sp-240) !important;
    }
    .u-mt-240-sm {
        margin-top: var(--sp-240) !important;
    }
    .u-mb-240-sm {
        margin-bottom: var(--sp-240) !important;
    }
    .u-ml-240-sm {
        margin-left: var(--sp-240) !important;
    }
    .u-mr-240-sm {
        margin-right: var(--sp-240) !important;
    }
    .u-gap-240-sm {
        gap: var(--sp-240) !important;
    }
    .u-p-245-sm {
        padding: var(--sp-245) !important;
    }
    .u-px-245-sm {
        padding-left: var(--sp-245) !important;
        padding-right: var(--sp-245) !important;
    }
    .u-py-245-sm {
        padding-top: var(--sp-245) !important;
        padding-bottom: var(--sp-245) !important;
    }
    .u-pt-245-sm {
        padding-top: var(--sp-245) !important;
    }
    .u-pb-245-sm {
        padding-bottom: var(--sp-245) !important;
    }
    .u-pl-245-sm {
        padding-left: var(--sp-245) !important;
    }
    .u-pr-245-sm {
        padding-right: var(--sp-245) !important;
    }
    .u-m-245-sm {
        margin: var(--sp-245) !important;
    }
    .u-mx-245-sm {
        margin-left: var(--sp-245) !important;
        margin-right: var(--sp-245) !important;
    }
    .u-my-245-sm {
        margin-top: var(--sp-245) !important;
        margin-bottom: var(--sp-245) !important;
    }
    .u-mt-245-sm {
        margin-top: var(--sp-245) !important;
    }
    .u-mb-245-sm {
        margin-bottom: var(--sp-245) !important;
    }
    .u-ml-245-sm {
        margin-left: var(--sp-245) !important;
    }
    .u-mr-245-sm {
        margin-right: var(--sp-245) !important;
    }
    .u-gap-245-sm {
        gap: var(--sp-245) !important;
    }
    .u-p-250-sm {
        padding: var(--sp-250) !important;
    }
    .u-px-250-sm {
        padding-left: var(--sp-250) !important;
        padding-right: var(--sp-250) !important;
    }
    .u-py-250-sm {
        padding-top: var(--sp-250) !important;
        padding-bottom: var(--sp-250) !important;
    }
    .u-pt-250-sm {
        padding-top: var(--sp-250) !important;
    }
    .u-pb-250-sm {
        padding-bottom: var(--sp-250) !important;
    }
    .u-pl-250-sm {
        padding-left: var(--sp-250) !important;
    }
    .u-pr-250-sm {
        padding-right: var(--sp-250) !important;
    }
    .u-m-250-sm {
        margin: var(--sp-250) !important;
    }
    .u-mx-250-sm {
        margin-left: var(--sp-250) !important;
        margin-right: var(--sp-250) !important;
    }
    .u-my-250-sm {
        margin-top: var(--sp-250) !important;
        margin-bottom: var(--sp-250) !important;
    }
    .u-mt-250-sm {
        margin-top: var(--sp-250) !important;
    }
    .u-mb-250-sm {
        margin-bottom: var(--sp-250) !important;
    }
    .u-ml-250-sm {
        margin-left: var(--sp-250) !important;
    }
    .u-mr-250-sm {
        margin-right: var(--sp-250) !important;
    }
    .u-gap-250-sm {
        gap: var(--sp-250) !important;
    }

    .u-btn-sm {
        padding: var(--sp-8) var(--sp-16);
        font-size: 0.875rem;
    }
    .u-gap-6-sm {
        gap: var(--sp-6);
    }
    .u-gap-22-sm {
        gap: var(--sp-22);
    }
    .u-gap-26-sm {
        gap: var(--sp-26);
    }
    .u-gap-34-sm {
        gap: var(--sp-34);
    }
    .u-gap-38-sm {
        gap: var(--sp-38);
    }
    .u-gap-48-sm {
        gap: var(--sp-48);
    }
    .u-gap-50-sm {
        gap: var(--sp-50);
    }
    .u-gap-60-sm {
        gap: var(--sp-60);
    }
    .u-gap-70-sm {
        gap: var(--sp-70);
    }
    .u-gap-80-sm {
        gap: var(--sp-80);
    }
}

/* ============================================================
   LG: min-width: 993px ~ max-width: 1439px
============================================================ */
@media (min-width: 993px) and (max-width: 1439px) {
    .t-fs-60-lg {
        font-size: clamp(2.25rem, 4vw + 1rem, 3.75rem) !important;
        line-height: 1.1;
        font-weight: 800;
        letter-spacing: -0.02em;
    }
    .t-fs-52-lg {
        font-size: clamp(2rem, 3.5vw + 0.8rem, 3.25rem) !important;
        line-height: 1.1;
        font-weight: 800;
        letter-spacing: -0.02em;
    }
    .t-fs-48-lg {
        font-size: clamp(1.75rem, 3vw + 0.5rem, 3rem) !important;
        line-height: 1.2;
        font-weight: 700;
        letter-spacing: -0.015em;
    }
    .t-fs-44-lg {
        font-size: clamp(1.625rem, 2.75vw + 0.5rem, 2.75rem) !important;
        line-height: 1.2;
        font-weight: 700;
        letter-spacing: -0.015em;
    }
    .t-fs-40-lg {
        font-size: clamp(1.5rem, 2.5vw + 0.5rem, 2.5rem) !important;
        line-height: 1.2;
        font-weight: 700;
    }
    .t-fs-36-lg {
        font-size: clamp(1.375rem, 2vw + 0.5rem, 2.25rem) !important;
        line-height: 1.3;
        font-weight: 700;
    }
    .t-fs-32-lg {
        font-size: clamp(1.25rem, 1.5vw + 0.5rem, 2rem) !important;
        line-height: 1.4;
        font-weight: 700;
    }
    .t-fs-28-lg {
        font-size: clamp(1.125rem, 1.2vw + 0.5rem, 1.75rem) !important;
        line-height: 1.4;
        font-weight: 700;
    }
    .t-fs-24-lg {
        font-size: clamp(1.25rem, 0.3vw + 1.1rem, 1.5rem) !important;
        line-height: 1.4;
        font-weight: 700;
    }
    .t-fs-20-lg {
        font-size: clamp(1.125rem, 0.2vw + 1rem, 1.25rem) !important;
        line-height: 1.5;
        font-weight: 700;
    }

    .c-fs-32-lg {
        font-size: clamp(1.5rem, 0.5vw + 1.25rem, 2rem) !important;
        line-height: 1.4;
    }
    .c-fs-28-lg {
        font-size: clamp(1.375rem, 0.4vw + 1.2rem, 1.75rem) !important;
        line-height: 1.4;
    }
    .c-fs-24-lg {
        font-size: clamp(1.25rem, 0.3vw + 1.1rem, 1.5rem) !important;
        line-height: 1.5;
    }
    .c-fs-20-lg {
        font-size: clamp(1.125rem, 0.2vw + 1rem, 1.25rem) !important;
        line-height: 1.5;
    }
    .c-fs-18-lg {
        font-size: clamp(1.0625rem, 0.15vw + 0.95rem, 1.125rem) !important;
        line-height: 1.6;
    }
    .c-fs-16-lg {
        font-size: clamp(0.9375rem, 0.1vw + 0.9rem, 1rem) !important;
        line-height: 1.6;
    }
    .c-fs-14-lg {
        font-size: clamp(0.8125rem, 0.05vw + 0.8rem, 0.875rem) !important;
        line-height: 1.6;
    }
    .c-fs-12-lg {
        font-size: 0.75rem !important;
        line-height: 1.6;
    }
    .c-fs-10-lg {
        font-size: 0.625rem !important;
        line-height: 1.6;
    }

    .g-cols-1-lg {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }
    .g-cols-2-lg {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    .g-cols-3-lg {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }
    .g-cols-4-lg {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
    }

    /* FIT - LG */
    .g-cols-fit-1-lg {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
    }
    .g-cols-fit-2-lg {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(900px, 1fr));
    }
    .g-cols-fit-3-lg {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(600px, 1fr));
    }
    .g-cols-fit-4-lg {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
    }
    .g-cols-fit-5-lg {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    }
    .g-cols-fit-6-lg {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }
    .g-cols-fit-7-lg {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }
    .g-cols-fit-8-lg {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    }
    .g-cols-fit-9-lg {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }
    .g-cols-fit-10-lg {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }
    .g-cols-fit-11-lg {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    }
    .g-cols-fit-12-lg {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }

    /* FILL - LG */
    .g-cols-fill-1-lg {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
    }
    .g-cols-fill-2-lg {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(900px, 1fr));
    }
    .g-cols-fill-3-lg {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(600px, 1fr));
    }
    .g-cols-fill-4-lg {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(450px, 1fr));
    }
    .g-cols-fill-5-lg {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    }
    .g-cols-fill-6-lg {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }
    .g-cols-fill-7-lg {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    }
    .g-cols-fill-8-lg {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    }
    .g-cols-fill-9-lg {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
    .g-cols-fill-10-lg {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    }
    .g-cols-fill-11-lg {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    }
    .g-cols-fill-12-lg {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    }

    .g-center-lg {
        display: grid;
        place-items: center;
    }
    .g-full-lg {
        display: grid;
        place-items: stretch;
    }
    .g-v-center-lg {
        display: grid;
        align-items: center;
    }
    .g-h-center-lg {
        display: grid;
        justify-items: center;
    }
    .g-self-center-lg {
        place-self: center;
    }
    .g-self-end-lg {
        place-self: end;
    }
    .g-self-v-end-lg {
        align-self: end;
    }

    .u-gap-0-lg {
        gap: 0 !important;
    }
    .u-gap-1-lg {
        gap: 1px !important;
    }
    .u-gap-2-lg {
        gap: 2px !important;
    }
    .u-gap-3-lg {
        gap: 3px !important;
    }
    .u-gap-4-lg {
        gap: clamp(0.1875rem, 0.05vw + 0.15rem, 0.25rem) !important;
    }
    .u-gap-8-lg {
        gap: clamp(0.375rem, 0.1vw + 0.3rem, 0.5rem) !important;
    }
    .u-gap-10-lg {
        gap: clamp(0.4375rem, 0.15vw + 0.35rem, 0.625rem) !important;
    }
    .u-gap-12-lg {
        gap: clamp(0.5rem, 0.2vw + 0.4rem, 0.75rem) !important;
    }
    .u-gap-14-lg {
        gap: clamp(0.625rem, 0.25vw + 0.5rem, 0.875rem) !important;
    }
    .u-gap-16-lg {
        gap: clamp(0.75rem, 0.3vw + 0.6rem, 1rem) !important;
    }
    .u-gap-18-lg {
        gap: clamp(0.8125rem, 0.35vw + 0.65rem, 1.125rem) !important;
    }
    .u-gap-20-lg {
        gap: clamp(0.875rem, 0.4vw + 0.7rem, 1.25rem) !important;
    }
    .u-gap-24-lg {
        gap: clamp(1rem, 0.5vw + 0.8rem, 1.5rem) !important;
    }
    .u-gap-28-lg {
        gap: clamp(1.25rem, 0.6vw + 0.9rem, 1.75rem) !important;
    }
    .u-gap-32-lg {
        gap: clamp(1.5rem, 0.7vw + 1rem, 2rem) !important;
    }
    .u-gap-36-lg {
        gap: clamp(1.75rem, 0.8vw + 1.1rem, 2.25rem) !important;
    }
    .u-gap-40-lg {
        gap: clamp(2rem, 1vw + 1.2rem, 2.5rem) !important;
    }

    .u-round-0-lg {
        border-radius: 0 !important;
    }
    .u-round-4-lg {
        border-radius: var(--sp-4) !important;
    }
    .u-round-8-lg {
        border-radius: var(--sp-8) !important;
    }
    .u-round-12-lg {
        border-radius: var(--sp-12) !important;
    }
    .u-round-16-lg {
        border-radius: var(--sp-16) !important;
    }
    .u-round-24-lg {
        border-radius: var(--sp-24) !important;
    }
    .u-round-full-lg {
        border-radius: 999px !important;
    }

    .g-self-start-lg {
        place-self: start !important;
    }

    .w-100-lg {
        width: 100% !important;
    }
    .w-50-lg {
        width: 50% !important;
    }
    .w-fit-lg {
        width: fit-content !important;
    }
    .w-max-lg {
        width: max-content !important;
    }
    .vh-100-lg {
        height: 100vh !important;
    }

    /* Padding */
    .u-p-4-lg {
        padding: var(--sp-4) !important;
    }
    .u-p-8-lg {
        padding: var(--sp-8) !important;
    }
    .u-p-10-lg {
        padding: var(--sp-10) !important;
    }
    .u-p-12-lg {
        padding: var(--sp-12) !important;
    }
    .u-p-14-lg {
        padding: var(--sp-14) !important;
    }
    .u-p-16-lg {
        padding: var(--sp-16) !important;
    }
    .u-p-18-lg {
        padding: var(--sp-18) !important;
    }
    .u-p-20-lg {
        padding: var(--sp-20) !important;
    }
    .u-p-24-lg {
        padding: var(--sp-24) !important;
    }
    .u-p-28-lg {
        padding: var(--sp-28) !important;
    }
    .u-p-32-lg {
        padding: var(--sp-32) !important;
    }
    .u-p-36-lg {
        padding: var(--sp-36) !important;
    }
    .u-p-40-lg {
        padding: var(--sp-40) !important;
    }

    .u-px-4-lg {
        padding-left: var(--sp-4) !important;
        padding-right: var(--sp-4) !important;
    }
    .u-px-8-lg {
        padding-left: var(--sp-8) !important;
        padding-right: var(--sp-8) !important;
    }
    .u-px-10-lg {
        padding-left: var(--sp-10) !important;
        padding-right: var(--sp-10) !important;
    }
    .u-px-12-lg {
        padding-left: var(--sp-12) !important;
        padding-right: var(--sp-12) !important;
    }
    .u-px-14-lg {
        padding-left: var(--sp-14) !important;
        padding-right: var(--sp-14) !important;
    }
    .u-px-16-lg {
        padding-left: var(--sp-16) !important;
        padding-right: var(--sp-16) !important;
    }
    .u-px-18-lg {
        padding-left: var(--sp-18) !important;
        padding-right: var(--sp-18) !important;
    }
    .u-px-20-lg {
        padding-left: var(--sp-20) !important;
        padding-right: var(--sp-20) !important;
    }
    .u-px-24-lg {
        padding-left: var(--sp-24) !important;
        padding-right: var(--sp-24) !important;
    }
    .u-px-28-lg {
        padding-left: var(--sp-28) !important;
        padding-right: var(--sp-28) !important;
    }
    .u-px-32-lg {
        padding-left: var(--sp-32) !important;
        padding-right: var(--sp-32) !important;
    }
    .u-px-36-lg {
        padding-left: var(--sp-36) !important;
        padding-right: var(--sp-36) !important;
    }
    .u-px-40-lg {
        padding-left: var(--sp-40) !important;
        padding-right: var(--sp-40) !important;
    }

    .u-py-4-lg {
        padding-top: var(--sp-4) !important;
        padding-bottom: var(--sp-4) !important;
    }
    .u-py-8-lg {
        padding-top: var(--sp-8) !important;
        padding-bottom: var(--sp-8) !important;
    }
    .u-py-10-lg {
        padding-top: var(--sp-10) !important;
        padding-bottom: var(--sp-10) !important;
    }
    .u-py-12-lg {
        padding-top: var(--sp-12) !important;
        padding-bottom: var(--sp-12) !important;
    }
    .u-py-14-lg {
        padding-top: var(--sp-14) !important;
        padding-bottom: var(--sp-14) !important;
    }
    .u-py-16-lg {
        padding-top: var(--sp-16) !important;
        padding-bottom: var(--sp-16) !important;
    }
    .u-py-18-lg {
        padding-top: var(--sp-18) !important;
        padding-bottom: var(--sp-18) !important;
    }
    .u-py-20-lg {
        padding-top: var(--sp-20) !important;
        padding-bottom: var(--sp-20) !important;
    }
    .u-py-24-lg {
        padding-top: var(--sp-24) !important;
        padding-bottom: var(--sp-24) !important;
    }
    .u-py-28-lg {
        padding-top: var(--sp-28) !important;
        padding-bottom: var(--sp-28) !important;
    }
    .u-py-32-lg {
        padding-top: var(--sp-32) !important;
        padding-bottom: var(--sp-32) !important;
    }
    .u-py-36-lg {
        padding-top: var(--sp-36) !important;
        padding-bottom: var(--sp-36) !important;
    }
    .u-py-40-lg {
        padding-top: var(--sp-40) !important;
        padding-bottom: var(--sp-40) !important;
    }

    .u-pt-4-lg {
        padding-top: var(--sp-4) !important;
    }
    .u-pt-8-lg {
        padding-top: var(--sp-8) !important;
    }
    .u-pt-10-lg {
        padding-top: var(--sp-10) !important;
    }
    .u-pt-12-lg {
        padding-top: var(--sp-12) !important;
    }
    .u-pt-14-lg {
        padding-top: var(--sp-14) !important;
    }
    .u-pt-16-lg {
        padding-top: var(--sp-16) !important;
    }
    .u-pt-18-lg {
        padding-top: var(--sp-18) !important;
    }
    .u-pt-20-lg {
        padding-top: var(--sp-20) !important;
    }
    .u-pt-24-lg {
        padding-top: var(--sp-24) !important;
    }
    .u-pt-28-lg {
        padding-top: var(--sp-28) !important;
    }
    .u-pt-32-lg {
        padding-top: var(--sp-32) !important;
    }
    .u-pt-36-lg {
        padding-top: var(--sp-36) !important;
    }
    .u-pt-40-lg {
        padding-top: var(--sp-40) !important;
    }

    .u-pb-4-lg {
        padding-bottom: var(--sp-4) !important;
    }
    .u-pb-8-lg {
        padding-bottom: var(--sp-8) !important;
    }
    .u-pb-10-lg {
        padding-bottom: var(--sp-10) !important;
    }
    .u-pb-12-lg {
        padding-bottom: var(--sp-12) !important;
    }
    .u-pb-14-lg {
        padding-bottom: var(--sp-14) !important;
    }
    .u-pb-16-lg {
        padding-bottom: var(--sp-16) !important;
    }
    .u-pb-18-lg {
        padding-bottom: var(--sp-18) !important;
    }
    .u-pb-20-lg {
        padding-bottom: var(--sp-20) !important;
    }
    .u-pb-24-lg {
        padding-bottom: var(--sp-24) !important;
    }
    .u-pb-28-lg {
        padding-bottom: var(--sp-28) !important;
    }
    .u-pb-32-lg {
        padding-bottom: var(--sp-32) !important;
    }
    .u-pb-36-lg {
        padding-bottom: var(--sp-36) !important;
    }
    .u-pb-40-lg {
        padding-bottom: var(--sp-40) !important;
    }

    /* Margin */
    .u-m-4-lg {
        margin: var(--sp-4) !important;
    }
    .u-m-8-lg {
        margin: var(--sp-8) !important;
    }
    .u-m-10-lg {
        margin: var(--sp-10) !important;
    }
    .u-m-12-lg {
        margin: var(--sp-12) !important;
    }
    .u-m-14-lg {
        margin: var(--sp-14) !important;
    }
    .u-m-16-lg {
        margin: var(--sp-16) !important;
    }
    .u-m-18-lg {
        margin: var(--sp-18) !important;
    }
    .u-m-20-lg {
        margin: var(--sp-20) !important;
    }
    .u-m-24-lg {
        margin: var(--sp-24) !important;
    }
    .u-m-28-lg {
        margin: var(--sp-28) !important;
    }
    .u-m-32-lg {
        margin: var(--sp-32) !important;
    }
    .u-m-36-lg {
        margin: var(--sp-36) !important;
    }
    .u-m-40-lg {
        margin: var(--sp-40) !important;
    }

    .u-mx-4-lg {
        margin-left: var(--sp-4) !important;
        margin-right: var(--sp-4) !important;
    }
    .u-mx-8-lg {
        margin-left: var(--sp-8) !important;
        margin-right: var(--sp-8) !important;
    }
    .u-mx-10-lg {
        margin-left: var(--sp-10) !important;
        margin-right: var(--sp-10) !important;
    }
    .u-mx-12-lg {
        margin-left: var(--sp-12) !important;
        margin-right: var(--sp-12) !important;
    }
    .u-mx-14-lg {
        margin-left: var(--sp-14) !important;
        margin-right: var(--sp-14) !important;
    }
    .u-mx-16-lg {
        margin-left: var(--sp-16) !important;
        margin-right: var(--sp-16) !important;
    }
    .u-mx-18-lg {
        margin-left: var(--sp-18) !important;
        margin-right: var(--sp-18) !important;
    }
    .u-mx-20-lg {
        margin-left: var(--sp-20) !important;
        margin-right: var(--sp-20) !important;
    }
    .u-mx-24-lg {
        margin-left: var(--sp-24) !important;
        margin-right: var(--sp-24) !important;
    }
    .u-mx-28-lg {
        margin-left: var(--sp-28) !important;
        margin-right: var(--sp-28) !important;
    }
    .u-mx-32-lg {
        margin-left: var(--sp-32) !important;
        margin-right: var(--sp-32) !important;
    }
    .u-mx-36-lg {
        margin-left: var(--sp-36) !important;
        margin-right: var(--sp-36) !important;
    }
    .u-mx-40-lg {
        margin-left: var(--sp-40) !important;
        margin-right: var(--sp-40) !important;
    }

    .u-my-4-lg {
        margin-top: var(--sp-4) !important;
        margin-bottom: var(--sp-4) !important;
    }
    .u-my-8-lg {
        margin-top: var(--sp-8) !important;
        margin-bottom: var(--sp-8) !important;
    }
    .u-my-10-lg {
        margin-top: var(--sp-10) !important;
        margin-bottom: var(--sp-10) !important;
    }
    .u-my-12-lg {
        margin-top: var(--sp-12) !important;
        margin-bottom: var(--sp-12) !important;
    }
    .u-my-14-lg {
        margin-top: var(--sp-14) !important;
        margin-bottom: var(--sp-14) !important;
    }
    .u-my-16-lg {
        margin-top: var(--sp-16) !important;
        margin-bottom: var(--sp-16) !important;
    }
    .u-my-18-lg {
        margin-top: var(--sp-18) !important;
        margin-bottom: var(--sp-18) !important;
    }
    .u-my-20-lg {
        margin-top: var(--sp-20) !important;
        margin-bottom: var(--sp-20) !important;
    }
    .u-my-24-lg {
        margin-top: var(--sp-24) !important;
        margin-bottom: var(--sp-24) !important;
    }
    .u-my-28-lg {
        margin-top: var(--sp-28) !important;
        margin-bottom: var(--sp-28) !important;
    }
    .u-my-32-lg {
        margin-top: var(--sp-32) !important;
        margin-bottom: var(--sp-32) !important;
    }
    .u-my-36-lg {
        margin-top: var(--sp-36) !important;
        margin-bottom: var(--sp-36) !important;
    }
    .u-my-40-lg {
        margin-top: var(--sp-40) !important;
        margin-bottom: var(--sp-40) !important;
    }

    .u-mt-4-lg {
        margin-top: var(--sp-4) !important;
    }
    .u-mt-8-lg {
        margin-top: var(--sp-8) !important;
    }
    .u-mt-10-lg {
        margin-top: var(--sp-10) !important;
    }
    .u-mt-12-lg {
        margin-top: var(--sp-12) !important;
    }
    .u-mt-14-lg {
        margin-top: var(--sp-14) !important;
    }
    .u-mt-16-lg {
        margin-top: var(--sp-16) !important;
    }
    .u-mt-18-lg {
        margin-top: var(--sp-18) !important;
    }
    .u-mt-20-lg {
        margin-top: var(--sp-20) !important;
    }
    .u-mt-24-lg {
        margin-top: var(--sp-24) !important;
    }
    .u-mt-28-lg {
        margin-top: var(--sp-28) !important;
    }
    .u-mt-32-lg {
        margin-top: var(--sp-32) !important;
    }
    .u-mt-36-lg {
        margin-top: var(--sp-36) !important;
    }
    .u-mt-40-lg {
        margin-top: var(--sp-40) !important;
    }

    .u-mb-4-lg {
        margin-bottom: var(--sp-4) !important;
    }
    .u-mb-8-lg {
        margin-bottom: var(--sp-8) !important;
    }
    .u-mb-10-lg {
        margin-bottom: var(--sp-10) !important;
    }
    .u-mb-12-lg {
        margin-bottom: var(--sp-12) !important;
    }
    .u-mb-14-lg {
        margin-bottom: var(--sp-14) !important;
    }
    .u-mb-16-lg {
        margin-bottom: var(--sp-16) !important;
    }
    .u-mb-18-lg {
        margin-bottom: var(--sp-18) !important;
    }
    .u-mb-20-lg {
        margin-bottom: var(--sp-20) !important;
    }
    .u-mb-24-lg {
        margin-bottom: var(--sp-24) !important;
    }
    .u-mb-28-lg {
        margin-bottom: var(--sp-28) !important;
    }
    .u-mb-32-lg {
        margin-bottom: var(--sp-32) !important;
    }
    .u-mb-36-lg {
        margin-bottom: var(--sp-36) !important;
    }
    .u-mb-40-lg {
        margin-bottom: var(--sp-40) !important;
    }
}

.subbg {
    height: 900px;
}

.u-bl-3 {
    border-left: 3px solid;
    border-color: var(--point);
}

a.button {
    padding: 0 var(--sp-12) 0 var(--sp-24);
    height: var(--sp-54);
}

figcaption.position-absolute {
    bottom: var(--sp-26);
    left: var(--sp-26);
}

/* Watermark */
.brand-watermark {
    overflow: hidden;
    width: 100%;
    user-select: none;
    pointer-events: none;
    color: var(--light);

    & .brand-watermark__track {
        display: flex;
        width: max-content;
        animation: brand-watermark-scroll 300s linear infinite;
        will-change: transform;
    }

    & .brand-watermark__group {
        display: flex;
        flex-shrink: 0;
        align-items: center;
        gap: var(--sp-100);
        padding-right: var(--sp-100);
    }

    & .brand-watermark__item {
        flex-shrink: 0;
        white-space: nowrap;
        font-size: var(--sp-200);
        font-weight: 300;
        letter-spacing: -3.75px !important;
        color: var(--light);
        font-family: 'Cormorant Garamond', serif;
    }

    @media (prefers-reduced-motion: reduce) {
        & .brand-watermark__track {
            animation: none;
            flex-wrap: wrap;
            justify-content: center;
            width: 100%;
            max-width: 100%;
        }

        & .brand-watermark__group:last-child {
            display: none;
        }
    }
}

@keyframes brand-watermark-scroll {
    from {
        transform: translateX(0);
    }

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

@media screen and (max-width: 767px) {
    .subbg {
        background-position: center;
        height: 500px;
    }
}
