@charset "utf-8";


/* 문의처 */
.wrap-rating {
    margin-top: 40px;
}

.wrap-rating .inner {
    display: table;
    width: 100%;
    padding: 46px 50px;
    background: var(--brand-gray-100);
}

.wrap-rating .title,
.wrap-rating .person,
.wrap-rating .modify {
    display: table-cell;
    vertical-align: middle;
}

.wrap-rating .modify {
    width: 210px;
    text-align: right;
}

.wrap-rating .title {
    position: relative;
    width: 300px;
}

.wrap-rating .title:after {
    content: '';
    position: absolute;
    left: 0%;
    top: 50%;
    width: 100%;
    height: 1px;
    background:var(--brand-gray-900);
}

.wrap-rating .title p {
    position: relative;
    z-index: 1;
    display: inline-block;
    padding-right: 30px;
    background: var(--brand-gray-100);
}

.wrap-rating .title p br {
    display: none;
}

.wrap-rating .title2 {
    width: 255px;
}

.wrap-rating .person .team,
.wrap-rating .person .tel,
.wrap-rating .modify .date {
    display: inline-block;
    padding: 6px 0 6px 50px;
    background: url('../images/content/icn_inquiries.png') no-repeat;
;
}

.wrap-rating .person .team {
    margin-left: 10%;
    background-position: 0 0;
}

.wrap-rating .person .tel {
    margin-left: 10%;
    background-position: 0 -34px;
    letter-spacing: 0;
}

.wrap-rating .modify .date {
    margin-left: 20%;
    background-position: 0 -70px;
    letter-spacing: 0;
}

.wrap-rating .person b {
    margin-right: 10px
}

@media all and (max-width: 1400px) {
    .wrap-rating .inner {
        padding: 26px 50px;
    }

    .wrap-rating .person .team,
    .wrap-rating .person .tel {
        margin: 5px 0 5px 60px;
    }

    .wrap-rating .title,
    .wrap-rating .title2 {
        width: 220px;
    }
}

@media all and (max-width: 1200px) {
    .wrap-rating .inner {
        padding: 35px 40px;
    }

    .wrap-rating .title,
    .wrap-rating .person,
    .wrap-rating .modify {
        display: block;
    }

    .wrap-rating .title,
    .wrap-rating .title2 {
        width: 100%;
    }

    .wrap-rating .title p br {
        display: none;
    }

    .wrap-rating .person {
        margin: 19px 0 29px 0;
    }

    .wrap-rating .person .team,
    .wrap-rating .person .tel {
        width: auto;
        margin: 0;
    }

    .wrap-rating .person .tel {
        margin-left: 130px;
    }

    .wrap-rating .modify {
        margin: 19px 0 0 0;
        text-align: left;
    }

    .wrap-rating .modify .date {
        margin-left: 0;
    }
}

@media all and (max-width: 730px) {
    .wrap-rating {
        margin-top: 40px;
    }

    .wrap-rating .person .team,
    .wrap-rating .person .tel {
        width: 100%;
        margin: 0;
    }

    .wrap-rating .person .team,
    .wrap-rating .person .tel,
    .wrap-rating .modify .date {}

    .wrap-rating .person .tel {
        margin-top: 20px;
    }
}


.page-hero {
    margin: 0 0 50px 0;
    padding-top: 30px;
    border-top: 1px solid var(--brd-color);
}

.page-hero-inner {
    display: grid;
    grid-template-columns: 1fr 420px;
    align-items: center;
    gap: 80px;
}

.page-hero-eyebrow {
    margin: 0 0 32px;
    font-size: var(--fz-body-lg);
    font-weight: 600;
    color: var(--brand-primary);
}

.page-hero .tit {
    margin: 0;
    font-size: var(--fz-hd-lg);
    line-height: 1.45;
    font-weight: 600;
    letter-spacing: -0.04em;
}

.page-hero .tit b {
    font-weight: 800;
}

.page-hero-desc {
    margin-top: 24px;
    max-width: 560px;
    color: var(--brand-gray-800);
}

.page-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 300px;
    height: 72px;
    margin-top: 56px;
    padding: 0 36px;
    border: 1px solid #111;
    border-radius: 999px;
    background: #fff;
    color: #111;
    font-size: 24px;
    gap: var(--space-2);
    font-weight: 700;
    text-decoration: none;
}

.page-hero-btn[target="_blank"]::after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: url(../images/common/icn_go_new.svg) no-repeat center center / contain;
}

.page-hero-btn:hover {
    background: #111;
    color: #fff;
}

.page-hero-btn:hover[target="_blank"]::after {
    background: url(../images/common/icn_go_new_w.svg) no-repeat center center / contain;
}

.page-hero-visual {
    display: flex;
    justify-content: flex-end;
}

.page-hero-visual img {
    width: 100%;
    max-width: 420px;
}

/* tablet */
@media (max-width: 1024px) {
    .page-hero-inner {
        grid-template-columns: 1fr 320px;
        gap: 40px;
    }

    .page-hero h2 {
        font-size: 38px;
    }

    .page-hero-eyebrow {
        font-size: 22px;
    }

    .page-hero-btn {
        min-width: 240px;
        height: 60px;
        font-size: 20px;
    }
}

/* mobile */
@media (max-width: 768px) {
    .page-hero {
    }

    .page-hero-inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .page-hero-eyebrow {
        margin-bottom: 20px;
        font-size: 18px;
    }

    .page-hero h2 {
        font-size: 30px;
        line-height: 1.4;
    }

    .page-hero-btn {
        min-width: 0;
        height: 56px;
        margin-top: 32px;
        font-size: 18px;
    }

    .page-hero-visual {
        justify-content: center;
    }

    .page-hero-visual img {
        max-width: 280px;
    }
}




/* 콘텐츠 제목 계층: 색상과 단계별 들여쓰기는 아래 변수로 일괄 조절 */
:root {
    --content-h3-color: #004c78;
    --content-h4-color: var(--brand-blue);
    --content-h5-color: var(--brand-secondary-800);
    --content-list-color: var(--brand-supporting-800);
    --content-h4-indent: 16px;
    --content-h5-indent: 40px;
    --content-list-indent: 58px;
}

.cont-tit {
    display: flex;
    gap: var(--space-2);
    align-items: flex-start;
    margin-bottom: var(--space-6);
    flex-direction: column;
    margin-top: var(--space-10);
}

.cont-tit:nth-of-type(1) {
    margin-top: 0;
}

.cont-tit>p {
    color: var(--brand-gray-800);
}

.cont-tit h3,
.h3-title {
    font-size: var(--fz-hd-md);
    font-weight: 700;
    line-height: 1.45;
    padding-left: 32px;
    position: relative;
    color: var(--content-h3-color);
}

.cont-tit h3::before {
    width: 22px;
    height: 22px;
    background: url(../images/common/icn_h3.svg) no-repeat center center / contain;
    display: block;
    position: absolute;
    top: calc(.725em - 13px);
    left: 0;
    content: '';
}

.cont-tit h4,
.h4-title {
    font-size: var(--fz-hd-sm);
    font-weight: 700;
    line-height: 1.45;
    margin-left: var(--content-h4-indent);
    padding-left: 24px;
    position: relative;
    color: var(--content-h4-color);
}

.cont-tit h4::before {
    width: 20px;
    height: 20px;
    background: url(../images/common/icn_h4.svg) no-repeat;
    display: block;
    position: absolute;
    top: calc(.725em - 7px);
    left: 0;
    content: '';
}

.cont-tit h5,
.h5-title {
    padding-left: 18px;
    margin-left: var(--content-h5-indent);
    margin-bottom: var(--space-4);
    font-size: var(--fz-body-lg);
    font-weight: 600;
    line-height: 1.5;
    position: relative;
    color: var(--content-h5-color);
}

/* h5는 세로 막대, 목록은 점으로 구분 */
.cont-tit h5::before,
.h5-title::before {
    width: 12px;
    height: 12px;
    background: url(../images/common/icn_h5.svg) no-repeat center center /contain;
    display: block;
    position: absolute;
    top: calc(.925em - 10px);
    left: 0;
    content: '';
}

.cont-tit h5 {
    margin-bottom: 0;
}

/* 본문 묶음: 목록·표·안내문을 같은 시작선에 배치한다.
   h3 아래는 기본 폭, h4 아래는 소제목 단계, h5 아래는 상세 본문 단계. */
.cont-body {
    display: flow-root;
    min-width: 0;
    color: var(--content-list-color);
}

:is(.h4-title, .cont-tit:has(h4)) + .cont-body {
    margin-inline-start: var(--content-h5-indent);
}

:is(.h5-title, .cont-tit:has(h5)) + .cont-body {
    margin-inline-start: var(--content-list-indent);
}

.cont-body > :is(.list1, .list2) > li > strong:not([class]) {
    color: var(--brand-gray-900);
}

/* 제목에 이어지는 설명/목록만 들여쓰기: 표·카드 내부 목록은 기존 배치 유지 */
:is(.h5-title, .cont-tit:has(h5)) + p,
:is(.h5-title, .cont-tit:has(h5)) + :is(.list1, .list2),
:is(.h5-title, .cont-tit:has(h5)) + p + :is(.list1, .list2) {
    margin-left: var(--content-list-indent);
    color: var(--content-list-color);
}

.cont-tit:has(h4) + :is(.list1, .list2) {
    margin-left: var(--content-h5-indent);
    color: var(--content-list-color);
}

:is(.h5-title, .cont-tit) + :is(.list1, .list2) > li > strong:not([class]),
:is(.h5-title, .cont-tit) + p + :is(.list1, .list2) > li > strong:not([class]) {
    color: var(--brand-gray-900);
}

@media (max-width: 768px) {
    :root {
        --content-h4-indent: 8px;
        --content-h5-indent: 20px;
        --content-list-indent: 32px;
    }

    .cont-tit h3,
    .h3-title {
        font-size: 1.75rem;
    }

    .cont-tit h4,
    .h4-title {
        font-size: 1.375rem;
    }

    .cont-tit h5,
    .h5-title {
        font-size: 1.125rem;
    }
}
.h6-title {
    padding-left: 14px;
    margin-bottom: var(--space-1);
    font-weight: 600;
    font-size: var(--fz-body-md);
    position: relative;
}

.h6-title::before {
    width: 7px;
    height: 8px;
    background: url(../images/common/icn_list3.svg) no-repeat;
    display: block;
    position: absolute;
    top: 9px;
    left: 0;
    content: '';
}

.h6-title+.list2 {
    margin-bottom: var(--space-4);
}

.cont-tit+.files-list {
    margin-top: var(--space-6);
}

.no-data {

    text-align: center;
}

.no-data i {
    width: 100px;
    height: 100px;
    display: block;
    margin: 0 auto var(--space-3) auto;
    background: var(--brand-supporting-100) url(../images/common/icn_nodata.png) no-repeat 57% 50% / 40px;
    border-radius: 100%;
}

.no-data .tit {
    font-size: var(--fz-body-lg);
}

.no-data .txt {
    margin-top: var(--space-2);
    color: var(--brand-gray-800);
}

.no-data i.icn-type1 {
    background: var(--brand-supporting-100) url(../images/common/icn_nodata_map.png) no-repeat 57% 50% / 40px;
}

/* 준비중 페이지 */
.content-ready {
    display: flex;
    min-height: 500px;
    padding: 100px 60px;

    border-radius: var(--radius-lg);
    background: var(--brand-supporting-100);
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

.content-ready-icon {
    display: flex;
    width: 120px;
    height: 120px;
    margin-bottom: 30px;
    border-radius: 50%;
    background: #fff;
    color: var(--brand-primary);
    align-items: center;
    justify-content: center;
}

.content-ready-icon i {
    font-size: 60px;
}

.content-ready-text strong {
    display: block;
    font-size: var(--fz-display-md);
    font-weight: 700;
    line-height: 1.4;
}

.content-ready-text p {
    margin-top: 12px;
    color: #5c6675;
    line-height: 1.7;
    margin-bottom:30px;
}



.icn-new::after {
    width: 24px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    background-color: var(--brand-red);
    border-radius: var(--radius-md);
    color: #fff;
    display: inline-block;
    content: "N";
}

.basic-text-box01 {
    background: var(--brand-primary-100);
    border: 2px solid var(--brand-primary);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px;
}
.basic-text-box01.bg-none {
    background: transparent !important;
    padding:0 !important;
    border:0 !important;
}
.basic-text-box01 .icon {
    min-width: 20px;
    height: 20px;
    border-radius: 1000px;
    background: var(--brand-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.basic-text-box01 .icon i {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
}

.basic-text-box01 .txt {
    font-size: var(--fz-body-sm);
    font-weight: 500;
    color: var(--brand-gray-800);
    word-break: keep-all;
    line-height: 130%;
}


.basic-box01 {
    padding: var(--space-6);
    border-radius: var(--radius-xlg);
    margin-bottom: var(--space-10);
    border: 1px solid var(--brd-color);
    padding-left: 180px;
    min-height: 160px;
    position: relative;
    display: flex;
    align-items: center;
}

.basic-box01 .circle {
    position: absolute;
    left: 30px;
    top: 50%;
    width: 120px;
    height: 120px;
    border-radius: 0;
    transform: translateY(-50%);
}

.basic-box01 .txt-wrap {
    width: 100%;
    height: 100%;
}

.basic-box01 .circle .icon {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../images/common/icn_top_info.png);

}

.basic-box01 .circle .icon.icon1 {
    background-position: -362px 0px;
}
.basic-box01 .txt-wrap .h-box {
    display:block;
    font-size:var(--fz-body-lg);
    margin-bottom:var(--space-3);

}

.basic-box02 {
    background-color: var(--brand-primary-100);
    padding: var(--space-8);
    border-radius: var(--radius-xlg);
}

.basic-box02 .txt-tit {
    font-weight: 600;
    color: var(--brand-primary-900);
    font-size: var(--fz-body-lg);
    margin-bottom: var(--space-4);
}

.basic-box02 .txt-tit.icon::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url(../images/content/icn_info_tit.svg) no-repeat center center;
    margin-right: var(--space-1);
}

.basic-box03 {
    padding: var(--space-6);
    border-radius: var(--radius-lg);
    border: 1px solid var(--brand-gray-200);
}

.list2+.basic-box02 {
    margin-top: var(--space-8);
}

.basic-box04 {
    padding: var(--space-6);
    border-radius: var(--radius-lg);
    background: var(--brand-gray-100);
}

.basic-txt-box01 {
    background-color: var(--brand-primary-100);
    padding: var(--space-4);
    border-radius: var(--radius-md);
    color: var(--brand-gray-800);
}

.comp-box .txt-tit {
    font-weight: 600;
    margin-bottom: var(--space-4);
}

.comp-box .comp-txt {
    color: var(--brand-gray-800)
}


@media screen and (max-width: 768px) {
    .basic-box01 {
        padding: 60px var(--space-6) var(--space-6);
    }
    .basic-box01 .circle {
        left:50%;
        top: 10px;
        transform: translateX(-50%);
    }
    .basic-box01 .circle {
        width: 60px;
        height: 60px;
    }

    .basic-box01 .circle .icon {
        background-size: 560px 180px;
        background-repeat: no-repeat;
    }

    .basic-box01 .circle .icon.icon1 {
        background-position: -181px 0;
    }

    .basic-box02,
    .basic-box03 {
        padding: var(--space-4);
    }


}


/* 목록 디자인 */
.list1 {
    --bullet-size: 6px;
    --bullet-gap: 12px;
}

.list1>li {
    position: relative;
    padding-left: calc(var(--bullet-size) + var(--bullet-gap));
}

.list1>li+li {
    margin-top: var(--space-2);
}

.list1>li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72em;
    transform: translateY(-50%);
    width: var(--bullet-size);
    height: var(--bullet-size);
    border-radius: 50%;
    background: var(--brand-primary);
}

.list2>li {
    padding-left: 14px;
    position: relative;
}

.list2>li+li {
    margin-top: var(--space-2);
}

.list2>li::before {
    width: 6px;
    height: 2px;
    background: var(--brand-gray-700);
    display: block;
    position: absolute;
    top: 15px;
    left: 0;
    content: '';
}
.list1 .list2 {
    margin-top:10px;
}
.list1>li.bg-none,
.list2>li.bg-none {
    padding-left:0;
}
.list1>li.bg-none::before,
.list2>li.bg-none::before {
    display:none;
}

/* 순서 */
.step-box01 {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
    justify-content: flex-end;
    background: var(--brand-gray-100);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
}

.step-box01 .num {
    width: 30px;
    height: 30px;
    margin-right: 10px;
    background: var(--brand-primary-800);
    color: #fff;
    border-radius: var(--radius-md);
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    font-size: var(--fz-body-sm);
}

.step-box01>li {
    background: #fff;
    border-radius: var(--radius-md);
    padding: var(--space-3);
    position: relative;
    width: calc(100% / 4 - 2.25rem);
}

.step-box01>li::after {
    content: "\ea6c";
    font-family: remixicon !important;
    position: absolute;
    top: 50%;
    left: calc(100% + 10px);
    transform: translateY(-50%);
    font-size: 20px;
    color: var(--brand-gray-600);
}

.step-box01>li:last-child::after {
    display: none;
}

.step-box01>li>div {
    display: flex;
    align-items: flex-start;
    font-weight: 700;
}

.step-box01>li .step-desc {
    font-weight: 400;
    font-size: var(--fz-body-sm);
    color: var(--brand-gray-800);
    border-top: 1px dashed var(--brd-color);
    padding-top: var(--space-3);
    margin-top: var(--space-3);
}

@media (min-width: 768px) {
    .step-box01>li:nth-child(5) {
        order: 7;
    }

    .step-box01>li:nth-child(6) {
        order: 6;
    }

    .step-box01>li:nth-child(7) {
        order: 5;
    }

    .step-box01>li:nth-child(8) {
        order: 4;
    }

    .step-box01>li:nth-child(9) {
        order: 8;
    }

    .step-box01>li:nth-child(10) {
        order: 9;
    }

    .step-box01>li:nth-child(4n):after {
        content: "\ea4c";
        top: calc(100% + 1.5rem);
        left: 50%;
    }

    .step-box01>li:nth-child(5):after,
    .step-box01>li:nth-child(6):after,
    .step-box01>li:nth-child(7):after {
        content: "\ea60";
        left: auto;
        right: calc(100% + 1.5rem);
        transform: translate(50%, -50%);
    }

}


@media (min-width: 480px) and (max-width: 767px) {
    .step-box01>li {
        width: calc(100% / 2 - 1.5rem)
    }

    .step-box01>li:nth-child(2):after,
    .step-box01>li:nth-child(4):after,
    .step-box01>li:nth-child(6):after,
    .step-box01>li:nth-child(8):after {
        content: "\ea4c";
        top: calc(100% + 1.5rem);
        left: 50%;
    }

    .step-box01>li:nth-child(3):after,
    .step-box01>li:nth-child(7):after {
        content: "\ea60";
        left: auto;
        right: calc(100% + 1.8rem);
        transform: translate(50%, -50%);
        top: 50%;
    }

    .step-box01>li:nth-child(5):after {
        content: "\ea6c";
        top: 50%;
        left: calc(100% - 0rem);
        right: inherit;
    }

    .step-box01>li:nth-child(1) {
        order: 1;
    }

    .step-box01>li:nth-child(2) {
        order: 2;
    }

    .step-box01>li:nth-child(3) {
        order: 4;
    }

    .step-box01>li:nth-child(4) {
        order: 3;
    }

    .step-box01>li:nth-child(5) {
        order: 5;
    }

    .step-box01>li:nth-child(6) {
        order: 6;
    }

    .step-box01>li:nth-child(7) {
        order: 8;
    }

    .step-box01>li:nth-child(8) {
        order: 7;
    }

    .step-box01>li:nth-child(9) {
        order: 9;
    }

    .step-box01>li:nth-child(10) {
        order: 10;
    }

}

@media (max-width: 480px) {
    .step-box01>li {
        width: 100%
    }

    .step-box01>li:after {
        content: "\ea4c";
        top: calc(100% + 1.5rem);
        left: 50%;
    }
}


.load-spinner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: var(--space-2);
    position: relative;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    text-align: right;
}

.load-spinner::before {
    display: inline-flex;
    content: "";
    height: 20px;
    width: 20px;
    border: 2px solid #bbb;
    border-top-color: var(--brand-primary-900);
    border-radius: 100%;
    animation: spin 900ms infinite linear;
}

.load-spinner.spinner-md::before {
    height: 32px;
    width: 32px;
}

.load-spinner.spinner-lg::before {
    height: 48px;
    width: 48px;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(359deg);
    }
}

.form-spinner {
    position: relative;
}

.form-spinner .load-spinner {
    position: absolute;
    justify-content: flex-end;
    padding: 0 16px;
}

.btn-wrap {
    display: flex;
    gap: var(--space-4);
    flex-wrap: wrap;
}

.btn-wrap.btn-wrap-full .btn {
    flex: 1;
}

.btn-wrap.center {
    justify-content: center;
}

.btn-wrap.right {
    justify-content: flex-end;
}

/*
.form-wrap + .btn-wrap {
    margin-top:var(--space-8);
}*/
/* =============================================================
  form
============================================================= */
:root {
    --input-pd: 20px;
    --input-text-h: 215px;
    --choice-size: 24px;
    --choice-dot-size: 10px;
    --choice-gap: 10px;

    --choice-color: var(--brand-primary);
    --choice-border: var(--brd-color);
    --choice-disabled: var(--brand-gray-600);

    --chip-choice-size: 20px;
    --chip-gap: 12px;
    --chip-padding-y: 12px;
    --chip-padding-x: 24px;
}

input[type="radio"],
input[type="checkbox"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.form-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.form-head .required-guide {
    margin-left: auto;
    margin-bottom: 10px;
}

.form-head .btn-wrap {
    gap: var(--space-2);
}

.form-box {
    border: 1px solid var(--brd-color);
    padding: var(--space-8);
    border-radius: var(--radius-lg);
}

.form-box+.form-box {
    margin-top: var(--space-10);
}

.form-wrap {
    display: flex;
    align-items: normal;
    justify-content: flex-start;
    flex-direction: column;
    gap: var(--space-8);

}

.form-wrap fieldset {
    border: 0;
}

.form-sub-hideen[aria-hidden="false"] {
    display: flex;
    align-items: normal;
    justify-content: flex-start;
    flex-direction: column;
    gap: var(--space-4);
}

.form-row {
    display: flex;
    flex-wrap: wrap;
    --bs-gutter-x: 30px;
    --bs-gutter-y: 0;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-0.5 * var(--bs-gutter-x));
    margin-left: calc(-0.5 * var(--bs-gutter-x));
}

.form-group {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
}

.form-group.form-group-tit {
    margin-top: var(--space-10);
}

.form-group .form-tit {
    font-weight: 700;
    font-size: var(--fz-body-md);
    width: 100%;
    margin-bottom: var(--space-4);
}

.form-group .form-tit>p {
    color: var(--brand-gray-700);
    font-weight: 400;
    margin-top: var(--space-1);
    font-size: var(--fz-body-md);
}

.required-mark {
    content: "*";
    color: var(--brand-red);
    margin-left: var(--space-1);
    vertical-align: middle;
}

.form-group .form-conts {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    font-weight: 500;
}

/* 한줄 여러개 */
.form-group-row {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: row;
    gap: var(--space-6);
    flex-wrap: wrap;
}

.form-group-row .form-group {
    flex: 1;
}

.form-range-separator {
    align-self: flex-end;
    padding-bottom: 15px;
}

.input-group {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: row;
    gap: var(--space-2);
    width: 100%;
}

.input-group-text {
    flex: 0 0 auto;
}

.input-group .btn {
    flex: 0 0 auto;
}

.form-control {
    position: relative;
    width: 100%;
    padding: var(--input-pd);
    height: var(--input-h);
    border-radius: var(--radius-md);
    border: 1px solid var(--brand-gray-300);
    transition: 0.4s ease-in-out;
    font-size: inherit;
    color: inherit;
    font-family: inherit;
}

.form-control::placeholder {
    color: var(--brand-gray-600);
}

.form-control:placeholder-shown {
    font-weight: 400;
}

/*
input[type="text"].form-control:placeholder-shown {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
*/
.form-control:disabled {
    background-color: var(--brand-gray-100);
}

.form-control:read-only {
    background-color: var(--brand-gray-100);
}

.form-control.is-view {
    cursor: text;
}

.form-control:disabled::placeholder {
    color: var(--brand-gray-900);
}

.form-control.error {
    border-color: var(--brand-red);
    border-width: 2px;
}

.form-control.whalf {
    max-width: 400px;
}

.form-control-icon {
    position: relative;
    width: 100%;
}

.form-control-icon .btn {
    position: absolute;
    top: 50%;
    right: 0;
    padding: 0 var(--input-pd);
    transform: translateY(-50%);
    font-size: var(--fz-body-lg);
    background-color: transparent;
    color: var(--brand-gray-600);
}

textarea.form-control {
    height: var(--input-text-h);

}

.form-datepicker {
    background-image: url(../images/common/icn_datepicker.svg);
    background-repeat: no-repeat;
    background-position: calc(100% - var(--input-pd)) 50%;
}

.form-timepicker {
    background-image: url(../images/common/icn_time.svg);
    background-repeat: no-repeat;
    background-position: calc(100% - var(--input-pd)) 50%;
}

@media screen and (max-width:640px) {
    .form-group-row .form-group {
        flex: none;
    }

    .form-range-separator {
        display: none;
    }

}

/* 폼 hint */
.form-group [class^=form-hint] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: row;
    gap: var(--space-2);
    width: 100%;
    color: var(--brand-blue-900);
    font-weight: 400;
}

.form-group .form-hint-error {
    color: var(--brand-red-900);
}

.form-group .form-hint-check {
    color: var(--brand-green-900);
}

.form-group [class^=form-hint]::before {
    display: inline-flex;
    content: "";
    width: 18px;
    height: 18px;
    background: url(../images/common/icn_hint_information.svg) no-repeat center center;
}

.form-group .form-hint-error::before {
    background: url(../images/common/icn_hint_error.svg) no-repeat center center;
}

.form-group .form-hint-check::before {
    background: url(../images/common/icn_hint_check.svg) no-repeat center center;
}

/* 메시지가 비어 있는 hint(동적 메시지 자리)는 아이콘만 남지 않도록 숨김 */
.form-group [class^=form-hint]:empty {
    display: none;
}

/* 마이페이지 회원정보 수정 - 비밀번호 변경 입력 영역 (form-group 중첩 구조 간격 정리) */
.profile-password-fields:not([hidden]) {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
}

.profile-password-fields .form-group {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: var(--space-3);
}

.profile-password-fields .form-group .form-tit {
    margin-bottom: 0;
    font-size: var(--fz-body-sm);
}

.profile-password-fields .profile-password-title-row {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.profile-password-fields .form-group [class^=form-hint] {
    margin-top: 0;
    font-size: var(--fz-body-sm);
}

/* 제목 줄 안의 정책 안내도 일반 form-hint 색상으로 통일 (.form-tit>p 회색 덮어씀) */
.profile-password-fields .form-group .profile-password-title-row > .form-hint {
    color: var(--brand-blue-900);
}

.profile-password-fields .btn-wrap {
    margin-top: 0;
}

/* textarea count */
.form-count-info {
    display: flex;
}

.form-count-info .text-count {
    margin-left: auto;
    width: 140px;
    text-align: right;
    color: var(--brand-gray-700)
}

.form-count-info #current {
    color: var(--brand-blue-900);
}

.form-count-info.form-error #current {
    color: var(--brand-red-900);
}

.form-count-info.form-check #current {
    color: var(--brand-green-900);
}

/* select */
select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.form-select {
    padding: 0 calc(var(--input-pd) + 30px) 0 var(--input-pd);
    height: var(--input-h);
    border-radius: var(--radius-md);
    border: 1px solid var(--brd-color);
    background-color: #fff;
    background-image: url(../images/common/icn_select.svg);
    background-repeat: no-repeat;
    background-position: center right var(--input-pd);
    background-size: 22px;
    width: 100%;
    opacity: 1;
}

.form-select:focus {
    border-color: #0874c5;
}

.form-select[disabled] {
    background-color: var(--brand-gray-100);
;
    border-color: var(--brand-gray-200);
    color: var(--brand-gray-600);
}

.form-select.error {
    border-color: var(--brand-red);
    border-width: 2px;
}



/* radio & checkbox 공통 */
.chk-area,
.form-chip-group {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.form-check,
.form-chip {
    position: relative;
}

.form-check label,
.form-chip label {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    line-height: 1.4;
}

/* =========================
   기본 checkbox / radio
========================= */

.form-check input+label {
    min-height: var(--choice-size);
    padding-left: calc(var(--choice-size) + var(--choice-gap));
}

.form-check input+label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: var(--choice-size);
    height: var(--choice-size);
    box-sizing: border-box;
    background: #fff;
    border: 2px solid var(--choice-border);
    transform: translateY(-50%);
}

.form-check input[type="radio"]+label::before {
    border-radius: 50%;
}

.form-check input[type="checkbox"]+label::before {
    border-radius: 4px;
}

/* radio dot */
.form-check input[type="radio"]+label::after {
    content: "";
    position: absolute;
    left: calc(var(--choice-size) / 2);
    top: 50%;
    width: var(--choice-dot-size);
    height: var(--choice-dot-size);
    border-radius: 50%;
    background: transparent;
    transform: translate(-50%, -50%);
}

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

.form-check input[type="radio"]:checked+label::after {
    background: var(--choice-color);
}

/* checkbox check */
.form-check input[type="checkbox"]+label::after {
    content: "";
    position: absolute;
    left: calc(var(--choice-size) / 2);
    top: 50%;
    width: calc(var(--choice-size) * 0.42);
    height: calc(var(--choice-size) * 0.24);
    border-left: 2px solid transparent;
    border-bottom: 2px solid transparent;
    transform: translate(-50%, -62%) rotate(-45deg);
}

.form-check input[type="checkbox"]:checked+label::before {
    background: var(--choice-color);
    border-color: var(--choice-color);
}

.form-check input[type="checkbox"]:checked+label::after {
    border-color: #fff;
}

/* disabled */
.form-check input:disabled+label {
    color: var(--choice-disabled);
    cursor: default;
}

.form-check input:disabled+label::before {
    background: var(--choice-disabled);
    border-color: var(--choice-disabled);
}

.form-check input:checked:disabled+label::after {
    border-color: #ccc;
}

.form-check input[type="radio"]:checked:disabled+label::after {
    background: #ccc;
}

.form-check input[type="radio"]:checked:disabled+label::before {
    border-color: var(--choice-disabled);
}

.form-chip input[type="radio"]:checked:disabled+label::before {
    border-color: var(--choice-disabled);
}

/* focus */
.form-check input:focus-visible+label,
.form-chip input:focus-visible+label {
    outline: 2px solid #666;
    outline-offset: 4px;
}

/* =========================
   chip checkbox / radio
========================= */

.form-chip-group {
    width: 100%;
    gap: 10px;
}

.form-chip {
    width: auto;
}

.form-chip input+label {
    width: 100%;
    min-height: 48px;
    padding:
            var(--chip-padding-y) var(--chip-padding-x) var(--chip-padding-y) calc(var(--chip-padding-x) + var(--chip-choice-size) + var(--chip-gap));
    border: 1px solid var(--brd-color);
    border-radius: 999px;
    box-sizing: border-box;
}

.form-chip input+label::before {
    content: "";
    position: absolute;
    left: var(--chip-padding-x);
    top: 50%;
    width: var(--chip-choice-size);
    height: var(--chip-choice-size);
    box-sizing: border-box;
    background: #fff;
    border: 2px solid var(--choice-border);
    transform: translateY(-50%);
}

.form-chip input[type="radio"]+label::before {
    border-radius: 50%;
}

.form-chip input[type="checkbox"]+label::before {
    border-radius: 3px;
}

/* chip radio dot */
.form-chip input[type="radio"]+label::after {
    content: "";
    position: absolute;
    left: calc(var(--chip-padding-x) + (var(--chip-choice-size) / 2));
    top: 50%;
    width: var(--choice-dot-size);
    height: var(--choice-dot-size);
    border-radius: 50%;
    background: transparent;
    transform: translate(-50%, -50%);
}

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

.form-chip input[type="radio"]:checked+label::after {
    background: var(--choice-color);
}

/* chip checkbox check */
.form-chip input[type="checkbox"]+label::after {
    content: "";
    position: absolute;
    left: calc(var(--chip-padding-x) + (var(--chip-choice-size) / 2));
    top: 50%;
    width: calc(var(--chip-choice-size) * 0.42);
    height: calc(var(--chip-choice-size) * 0.24);
    border-left: 2px solid transparent;
    border-bottom: 2px solid transparent;
    transform: translate(-50%, -62%) rotate(-45deg);
}

.form-chip input[type="checkbox"]:checked+label::before {
    background: var(--choice-color);
    border-color: var(--choice-color);
}

.form-chip input[type="checkbox"]:checked+label::after {
    border-color: #fff;
}

/* chip checked */
.form-chip input:checked+label {
    font-weight: 700;
    outline: 2px solid #00449d;
    outline-offset: -2px;
    /*box-shadow: 0 0 10px rgba(0, 68, 157, 0.3);*/
}

/* chip disabled */
.form-chip input:disabled+label {
    color: var(--choice-disabled);
    cursor: default;
}

.form-chip input:disabled+label::before {
    background: var(--choice-disabled);
    border-color: var(--choice-disabled);
}

.form-chip input:checked:disabled+label {
    color: var(--choice-disabled);
    border-color: var(--choice-disabled);
}

.form-chip input[type="checkbox"]:checked:disabled+label::after {
    border-color: #ccc;
}

.form-chip input[type="radio"]:checked:disabled+label::after {
    background: #ccc;
}

@media screen and (max-width: 680px) {
    .form-chip {
        width: 100%;
    }
}



/* 토글 스위치 */
.toggle-switch {
    position: relative;
    display: inline-flex;
}

.toggle-switch [type=checkbox]~label {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}

.toggle-switch [type=checkbox]~label .switch-toggle {
    width: 44px;
    height: 24px;
    border-radius: 50px;
    background-color: var(--brand-gray-200);
    transition: 0.4s cubic-bezier(0.4, 0, 0.23, 1);
    position: relative;
}

.toggle-switch [type=checkbox]:checked~label .switch-toggle {
    background-color: var(--brand-primary-300)
}

.toggle-switch [type=checkbox]~label .switch-toggle>i {
    position: absolute;
    top: 4px;
    left: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    background-color: var(--brand-gray-600);
    transition: 0.4s cubic-bezier(0.4, 0, 0.23, 1);
}

.toggle-switch [type=checkbox]:checked~label .switch-toggle>i {
    left: 24px;
    background-color: var(--brand-primary-800)
}

.toggle-switch [type=checkbox]:disabled~label .switch-toggle {
    background-color: var(--brand-gray-100);
}

.toggle-switch [type=checkbox]:disabled~label .switch-toggle>i {
    background-color: var(--brand-gray-300);
}

/* 토글 텍스트 기본 스타일 */
.toggle-switch [type=checkbox]~label .toggle-text {
    line-height: 1;
    transition: color 0.2s ease;
}

.toggle-switch [type=checkbox]~label .toggle-text-off {
    color: var(--brand-primary-800);
    font-weight: 600;
}

.toggle-switch [type=checkbox]~label .toggle-text-on {
    color: var(--brand-gray-300);
    font-weight: 400;
}

.toggle-switch [type=checkbox]:checked~label .toggle-text-off {
    color: var(--brand-gray-300);
    font-weight: 400;
}

.toggle-switch [type=checkbox]:checked~label .toggle-text-on {
    color: var(--brand-primary-800);
    font-weight: 600;
}

.toggle-switch [type=checkbox]:disabled~label .toggle-text {
    color: var(--brand-gray-300);
    font-weight: 400;
}





.time-picker {
    position: relative;
}

.time-toggle {
    border-radius: 4px;
    padding: 0 8px;
    cursor: pointer;
}

/* 패널 */
.time-panel {
    margin-top: 8px;
    border: 1px solid var(--brand-gray-200);
    border-radius: var(--radius-md);
    padding: var(--space-3);
    display: flex;
    gap: 16px;
    position: absolute;
    width: 100%;
    top: 100%;
    background-color: #fff;
    z-index: 50;
    align-items: flex-start;
}

.time-panel[hidden] {
    height: 0;
    display: none !important;
}

/* 각 열 */
.time-col {
    flex: 1 1 0;
    height: 200px;
    overflow: hidden;
}

.time-options {
    height: 200px;
    overflow-y: auto;
}

/* 진짜 라디오 숨기기 (시각적으로만) */
.time-options input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

/* 버튼처럼 보이는 label */
.time-option {
    display: block;
    margin-bottom: 4px;
    padding: var(--space-4);
    border-radius: 6px;
    cursor: pointer;
    border: 2px solid transparent;
}

/* 체크된 상태 */
.time-options input[type="radio"]:checked+.time-option {
    background: var(--brand-primary-200);
    color: var(--brand-primary-900);
    font-weight: 600;
}

/* 키보드 포커스 링 */
.time-options input[type="radio"]:focus-visible+.time-option {
    background: #fff;
    border-color: var(--brand-primary-800);
    font-weight: 600;
}

/* 비활성화 */
.time-options input[type="radio"]:disabled+.time-option {
    background: var(--brand-primary-100);
    color: var(--brand-gray-400);
}

/* 첨부파일 */
.dropzone {
    border: 1px dashed var(--brand-primary-800);
    border-radius: var(--radius-lg);
    background-color: #fff;
    display: block;
}

.dropzone .dropzone-container {
    padding: var(--space-8) 0;
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: var(--brand-gray-800);
    z-index: 20;
}

.dropzone .dropzone-container .dropzone-title {
    text-align: center;
    margin-bottom: var(--space-6);
}

.dropzone .dropzone-container .dropzone-title b {
    margin-bottom: var(--space-3);
    display: block;
}

.dropzone .file-input {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    cursor: pointer;
}

/* 첨부파일 목록
.files-list-container {
    margin-top:var(--space-3)
}
.files-list-container .count {
    font-weight: 600;
    margin-bottom: var(--space-4);
}
.files-list-container .count b{
    color:var(--brand-primary-800)
}
.files-list-container .files-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}
.files-list-container .files-list .item {
    padding:var(--space-4);
    border:1px solid var(--brand-gray-300);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.files-list-container .files-list .item .btn  {
    color:var(--brand-gray-600);
    height: auto;
    padding: 0;
}*/

/* 태그 필터링 */
.tag-wrap .btn-tag {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: row;
    position: relative;
    background-color: var(--brand-gray-100);
    gap: var(--space-1);
    height: 32px;
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-md);
    color: var(--brand-gray-800);
}

.tag-wrap .btn-tag .btn-delete {
    width: 20px;
    height: 20px;
    position: relative;
}

.tag-wrap .btn-tag .btn-delete::after {
    content: "\eb99";
    font-family: remixicon !important;
    font-style: normal;
    -webkit-font-smoothing: antialiased;


}




/* 완료 페이지 */
.comp-msg-wrap {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.comp-info-box {
    display: flex;
    align-items: normal;
    justify-content: flex-start;
    flex-direction: column;
    gap: var(--space-10);
    padding: var(--space-10);
    border-radius: var(--rd-12);
    background: var(--brand-secondary-100);
}

.comp-msg-wrap .point {
    color: var(--brand-primary);
}

.comp-tit {
    font-size: var(--fz-body-lg);
    font-weight: 700;
}

.comp-sub-text {
    color: var(--brand-gray-700);
}

.comp-info-box li {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: row;
    gap: var(--space-6);
}

.comp-info-box li .key {
    flex-shrink: 0;
    font-weight: 700;
    width: 12rem;
}

.comp-info-box li .value {
    display: inline-flex;
    align-items: normal;
    justify-content: flex-start;
    flex-direction: column;
    flex: 1;
    gap: var(--space-6);
}

.comp-info-box.type2 {
    border: 1px solid var(--brd-color);
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    margin-top: -6px;
    background: #fff;
    gap: 0;
}

.comp-box {
    border: 1px solid var(--brd-color);
    border-radius: var(--radius-lg);
    padding: 50px;
}

.comp-box i.icon {
    background: var(--brand-supporting-100) url("../images/common/icn_result_check.png") no-repeat center center / 80px;
    width: 200px;
    height: 200px;
    position: relative;
    border-radius: 100%;
    display: block;
    margin: 0 auto
}

.comp-box .btn-wrap {
    margin-top: var(--space-6);
}

@media (max-width: 1026px) {
    .comp-msg-wrap {
        margin-bottom: var(--space-16);
    }
}

@media (max-width: 600px) {
    .comp-msg-wrap {
        font-size: var(--fz-heading-md);
    }

    .comp-info-box {
        padding: var(--space-6);
    }

    .comp-info-box li .key {
        width: 8rem;
    }

}


/* 약관 및 동의 */
.agree-box {
    background: var(--brand-primary-100);
    border-radius: var(--radius-md);
    padding: var(--space-4);
}

.agree-cont-box {
    display: flex;
    gap: var(--space-4);
    flex-direction: column;
}

.agree-cont-box .agree-tit {
    font-size: var(--fz-body-lg);
    font-weight: 600;
}

.agree-cont-box .agree-tit .required-txt {
    color: var(--brand-blue);
}

.agree-text {
    border: 1px solid var(--brand-gray-200);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    color: var(--brand-gray-700);
    height: 200px;
}

.agree-text .terms {
    height: 100%;
    overflow-y: auto;
}



/* 로그인 */
.login-page {
    margin: 0 auto;
    /* padding: var(--space-10) var(--space-4); */
    /* background: var(--brand-gray-100); */
    /* border-radius: 60px; */
}

.login-page__head {
    margin-bottom: var(--space-8);
    text-align: center;
}

.login-page__head h2 {
    margin-bottom: var(--space-3);
    font-size: var(--fz-display-sm);
    font-weight: 800;
    color: var(--brand-gray-900);
}

.login-page__head p {
    color: var(--brand-gray-700);
}

.login-page__head strong {
    color: var(--brand-primary-900);
}

.login-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--brand-gray-200);
    border-radius: var(--radius-xlg);
    background: #fff;

    max-width: 600px;
    margin: 0 auto;
}

.login-card__body {
    padding: var(--space-10) var(--space-8) var(--space-8);
}

.login-symbol {
    width: 100px;
    height: 100px;
    margin: 0 auto var(--space-6);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--brand-primary-100);
    color: var(--brand-primary-900);
    font-size: 32px;
}

.login-symbol i {
    width: 50px;
    height: 50px;
    display: block;
    background: url(../images/common/icn_login.png) no-repeat center center / contain;
}

.login-card__title {
    margin-bottom: var(--space-8);
    text-align: center;
}

.login-card__title h3 {
    margin-bottom: var(--space-3);
    font-size: var(--fz-hd-lg);
    font-weight: 800;
}

.login-card__title p {
    color: var(--brand-gray-700);
    line-height: 1.6;
}

.login-wrap {
    max-width: none;
}

.login-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
}

.login-links {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--brand-gray-500);
    font-size: var(--fz-body-sm);
}

.login-links a {
    color: var(--brand-gray-700);
}

.login-links a:hover {
    color: var(--brand-primary-900);
    text-decoration: underline;
}

.login-card .btn-wrap {
    margin-top: var(--space-2);
}

.login-card .btn-primary {
    box-shadow: 0 8px 18px rgba(0, 68, 157, 0.22);
}


.login-card__footer {
    padding: var(--space-5) var(--space-6);
    border-top: 1px solid var(--brand-gray-100);
    background: var(--brand-gray-100);
    color: var(--brand-gray-600);
    text-align: center;
    font-size: var(--fz-body-sm);
}

@media screen and (max-width: 640px) {
    .login-page {
        padding: var(--space-6) var(--space-3);
    }

    .login-card__body {
        padding: var(--space-7) var(--space-5);
    }

    .login-option {
        align-items: flex-start;
        flex-direction: column;
    }

}



/* 아이디/비밀번호 찾기 */
.find-account-wrap {
    max-width: 600px;
    margin: 0 auto;
}

.find-account-box {
    overflow: hidden;
    background: #fff;
    display: flex;
    gap: 30px;
    align-items: stretch;
    flex-direction: column;
}

.find-account-box section {
    border: 1px solid var(--brd-color);
    border-radius: var(--radius-lg);
    padding: 30px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.find-info {
    display: flex;
    gap: var(--space-2);
    margin-bottom: var(--space-6);
    padding: var(--space-4);
    border: 1px solid var(--brand-primary-200);
    border-radius: var(--radius-md);
    background: var(--brand-primary-100);
    color: var(--brand-gray-800);
    line-height: 1.6;
}

.find-info i,
.find-info strong {
    color: var(--brand-primary);
}

.find-section-title {
    display: none;
    gap: 10px;
    margin-bottom: 10px;
    flex: 0 0 auto;
}

.find-auth-box {
    border-radius: var(--radius-md);
    text-align: center;
    flex: 1 1 auto;
}

.find-auth-icon {
    width: 100px;
    height: 100px;
    margin: 0 auto var(--space-4);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--brand-supporting-100);
    color: var(--brand-primary);
    font-size: 30px;
}

.find-auth-icon i {
    width: 40px;
    height: 40px;
    background: url(../images/common/icn_phone_auth.png) no-repeat center center / contain;
}

.find-auth-icon.is-success {}

.find-auth-icon.is-success i {
    background: url(../images/common/icn_result_check.png) no-repeat center center / contain;

}

.find-auth-box>strong {
    display: block;
    margin-bottom: var(--space-2);
    font-size: var(--fz-body-lg);
}

.find-auth-box>p {
    margin-bottom: var(--space-5);
    color: var(--brand-gray-700);
    line-height: 1.6;
}

.find-auth-form {
    margin-top: var(--space-5);
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.find-id-result {
    display: inline-flex;
    min-width: 180px;
    justify-content: center;
    background: #fff;
    margin-bottom: var(--space-5);
    padding: var(--space-3) var(--space-5);
    border: 1px solid var(--brd-color);
    border-radius: var(--radius-md);
    color: var(--brand-primary);
    font-weight: 800;
    letter-spacing: 0.08em;
}

.find-auth-box .join-wrap {
    max-width: 360px;
    margin: 0 auto;
}

.find-auth-box .btn-wrap {
    margin-top: var(--space-4);
}

@media screen and (max-width: 640px) {
    .find-panel {
        padding: var(--space-5);
    }

    .find-auth-box {
        padding: var(--space-5);
    }

    .find-info {
        align-items: flex-start;
    }

    .find-tab__btn {
        height: 56px;
    }

    .find-auth-box .btn-wrap.center {
        flex-direction: column;
    }

    .find-auth-box .btn-wrap.center .btn {
        width: 100%;
    }
}

/* 회원가입 */
.join-wrap {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-10);
}

.join-form-wrap {
    max-width: 400px;
}

.join-wrap.type-select .type-box .type01 i {
    background-image: url(../images/content/img_join01.png);
}

.join-wrap.type-select .type-box .type02 i {
    background-image: url(../images/content/img_join02.png);
}

@media screen and (min-width: 769px) {
    .join-wrap.type-select .type-box {
        flex: 1;
    }
}

.join-type-section {}

.join-type-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-6)
}

.join-type-box {
    border: 1px solid var(--brd-color);
    border-radius: var(--radius-lg);
    padding: 30px;
    flex: 1;
    display: flex;
    flex-direction: column;
    text-align: center;

}

.join-type-icon {
    width: 100px;
    height: 100px;
    margin: 0 auto var(--space-4);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--brand-supporting-100);
    color: var(--brand-primary);
    font-size: 30px;
}

.join-type-icon i {
    width: 40px;
    height: 40px;
    background: url(../images/common/icn_detail_setion_person.png) no-repeat center center / contain;
}

.join-type-icon i.icon-company {
    background: url(../images/common/icn_detail_setion_compnay.png) no-repeat center center / contain;

}

.join-type-box strong {
    display: block;
    margin-bottom: var(--space-2);
    font-size: var(--fz-body-lg);
}

.join-type-box p {
    margin-bottom: var(--space-2);
}

.join-type-box .btn-wrap {
    margin-top: auto;
}

/* 순서 */
.step-wrap {
    display: flex;
    margin: 0 auto;
    width: 100%;
    max-width: 800px;
}

.step-wrap>li {
    flex: 1;
    position: relative;
}

.step-wrap>li::after {
    position: absolute;
    top: calc(30px / 2);
    left: -50%;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--brand-gray-200);
    z-index: 0;
}

.step-wrap>li:first-child:after {
    display: none;
}

.step-wrap>li>span {
    display: flex;
    flex-direction: column;
    position: relative;
    gap: var(--space-2);
    align-items: center;
    z-index: 1;
}

.step-wrap>li i {
    border: 1px solid var(--brd-color);
    border-radius: 100%;
    background-color: #fff;
    width: 32px;
    height: 32px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.step-wrap>li i::before {
    display: block;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    content: "";
}

.step-wrap>li i.icon-accounts::before {
    background-image: url(../images/content/icn_step_accounts.svg);
}

.step-wrap>li i.icon-agree::before {
    background-image: url(../images/content/icn_step_agree.svg);
}

.step-wrap>li i.icon-identity::before {
    background-image: url(../images/content/icn_step_identity.svg);
}

.step-wrap>li i.icon-form::before {
    background-image: url(../images/content/icn_step_form.svg);
}

.step-wrap>li i.icon-succes::before {
    background-image: url(../images/content/icn_step_succes.svg);
}

.step-wrap>li i::after {
    display: block;
    width: calc(100% + 10px);
    height: calc(100% + 10px);
    background: #fff;
    border-radius: 100%;
    position: absolute;
    top: -5px;
    left: -5px;
    z-index: -1;
    content: "";
}

.step-wrap>li .step-tit,
.step-wrap>li .step-num {
    text-align: center;
    padding: 0 var(--space-2);
    font-weight: 700;
}

.step-wrap>li .step-num {
    font-size: var(--fz-body-xsm);
    color: var(--brand-gray-700);
}

.step-wrap>li.done i {
    background-color: var(--brand-gray-300);
}

.step-wrap>li.done i::before {
    filter: invert(73%) sepia(8%) saturate(13%) hue-rotate(330deg) brightness(105%) contrast(81%);
}

.step-wrap>li.current i {
    border-color: var(--brand-primary);
}

.step-wrap>li.current i::before {
    filter: invert(28%) sepia(71%) saturate(1805%) hue-rotate(178deg) brightness(103%) contrast(102%);
}

.step-wrap>li.current i::after {
    background-color: rgb(10 112 183 / 10%);
}

.step-wrap>li.current .step-tit,
.step-wrap>li.current .step-num {
    color: var(--brand-primary-800);
    font-weight: 600;
}

@media screen and (min-width: 769px) {
    .step-wrap>li::after {
        top: calc(60px / 2);
    }

    .step-wrap>li i {
        width: 60px;
        height: 60px;
    }

    .step-wrap>li .step-tit {}

}

@media screen and (max-width: 767px) {
    .step-wrap {
        margin-bottom: var(--space-6)
    }

}


@media screen and (max-width: 480px) {

    .step-wrap>li .step-num {
        display: block;
    }

    .step-wrap>li .step-tit {
        display: none;
    }

}



/************
지도 서비스(입지, 투자 네비게이터)
**************/
#wrap.wrap-location {
    height: 100%;

}

#wrap.wrap-location #wrap-container {
    height: calc(100vh - 100px);
}

#wrap.wrap-location #contents {
    padding: 0;
    height: 100%;
}

.location-map-wrap {
    height: 100%;
}

.location-map-layout {
    height: 100%;
    position: relative;
}

.location-result-panel,
.location-detail-panel,
.location-map {


    height: 100%;
}

.location-result-panel,
.location-detail-panel {
    position: absolute;
    top: 30px;
    height: calc(100% - 60px);

    z-index: 1;
    border: 1px solid var(--brand-gray-200);
    border-radius: var(--radius-lg);
}

.location-result-panel {
    left: 30px;
    width: 400px;
}

.location-detail-panel {
    right: 30px;
    background: #fff;
    width: 500px;
}

.location-top-search {
    display: grid;
    grid-template-columns: 1fr 48px;
    align-items: center;
    gap: 0;
    margin-bottom: 16px;
    padding: 0;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .14);
    overflow: hidden;
    padding: 0 20px;
}

.location-top-search .form-select,
.location-top-search .form-control {
    height: 58px;
    border: 0;
    background: #fff;
}

.location-top-search .form-select {
    padding-left: 20px;
    font-weight: 600;
}

.location-top-search .form-control {
    padding: 0 16px;
}

.location-search-btn {
    width: 48px;
    height: 58px;
    background: #fff;
    font-size: 24px;
}

/*
 * 검색창 래퍼가 overflow:hidden + 둥근 모서리라 입력창 포커스 outline이 잘려 좌우 세로선만 보임
 * → 입력창 포커스 링 제거 (커서로 포커스 위치 확인)
 */
.location-top-search .form-control:focus,
.location-top-search .form-control:focus-visible {
    outline: none;
}

.location-search-btn:focus-visible {
    outline: 2px solid var(--brand-primary-800, #111);
    outline-offset: -4px;
    border-radius: 999px;
}

.location-filter-wrap {
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .14);

}

.location-filter-body {
    overflow: hidden;
}

.location-filter-wrap.is-collapsed .location-filter-body {
    display: none;
}

.location-filter-wrap.is-collapsed .location-filter-title i {
    transform: rotate(180deg);
}

.location-filter-box {

    overflow: hidden;

    height: 100%;
}

.location-filter-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 12px 24px;
    border-bottom: 1px solid var(--brd-color);
    font-size: var(--fz-body-md);
    font-weight: 800;
}

.location-filter-content {
    padding: 16px 20px 22px;
}

.filter-tabs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin-bottom: 18px;
    border-radius: 10px;
    background: var(--brand-gray-100);
    overflow: hidden;
}

.filter-tabs button {
    height: 48px;
    color: var(--brand-gray-600);
    font-weight: 700;
}

.filter-tabs button.current {
    border: 1px solid var(--brand-primary);
    border-radius: 10px;
    background: #fff;
    color: var(--brand-primary);
}

.filter-select-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 18px;
}

.filter-select-grid.two {
    grid-template-columns: repeat(2, 1fr);
}

.filter-select-grid .form-select {
    height: 48px;
    border-radius: 8px;
    font-size: var(--fz-body-sm);
}

.location-result-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px 20px 12px;
    margin: 0;
    border-top: 1px solid var(--brd-color);
}

.location-result-head h2 {
    font-size: var(--fz-body-md);
}

.location-result-head h2 span {
    color: var(--brand-orange);
    font-size: var(--fz-body-sm);
    font-weight: 400;
}

.btn-excel {
    height: 36px;
    padding: 0 var(--space-3);
    border: 1px solid var(--brand-gray-300);
    border-radius: var(--radius-sm);
    background: #fff;
    color: var(--brand-primary-800);
    font-size: var(--fz-body-sm);
    font-weight: 700;
}

.location-result-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    overflow-y: auto;
    max-height: 500px;
    padding: var(--space-4);
    height: calc(100% - 700px);
}

.location-result {
    width: 100%;
    padding: var(--space-4);
    border: 1px solid var(--brd-color);
    border-radius: var(--radius-md);
    background: #fff;
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.location-result.current,
.location-result:hover {
    border-color: var(--brand-primary-800);

}

.location-result .btn {
    width: 100%;
    font-size: var(--fz-body-sm);
}

.location-name {
    display: flex;
    margin-bottom: var(--space-3);
    gap: 5px;
}

.location-name strong {

    font-weight: 800;
}

.location-result dl {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-6);
    margin-bottom: var(--space-2);
    font-size: var(--fz-body-sm);
}

.location-result dl div {
    /* display: grid; */
    /* grid-template-columns: 100px 1fr; */
    /* gap: var(--space-2); */
}

.location-result dt {
    font-size: var(--fz-body-xsm);
    font-weight: 600;
    color: var(--brand-primary-800);
}

.location-result dd {
    font-size: var(--fz-body-sm);
    color: var(--brand-gray-700);
}

.btn-detail {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    margin-top: var(--space-4);
    padding: 0 var(--space-3);
    border: 1px solid var(--brand-gray-300);
    border-radius: var(--radius-sm);
    background: #fff;
    font-weight: 700;
}

.location-map-main {
    position: relative;
    height: 100%;
}


.map-filter-bar {
    position: absolute;
    left: 50%;
    top: var(--space-4);
    z-index: 5;
    display: flex;
    gap: var(--space-2);
    transform: translateX(-50%);
}

.map-filter-dropdown {
    position: relative;
}

.map-filter-btn {
    min-width: 140px;
    height: 44px;
    padding: 0 var(--space-4);
    border: 1px solid var(--brand-gray-200);
    border-radius: var(--radius-md);
    background: #fff;
    font-weight: 700;
    justify-content: space-between;
}

.map-filter-btn::after {
    content: "";
    width: 8px;
    height: 8px;
    margin-left: var(--space-3);
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-3px) rotate(45deg);
}

.map-filter-btn[aria-expanded="true"]::after {
    transform: translateY(2px) rotate(225deg);
}

.map-filter-layer {
    position: absolute;
    left: 0;
    top: calc(100% + 8px);
    min-width: 220px;
    padding: var(--space-4);
    border: 1px solid var(--brand-gray-200);
    border-radius: var(--radius-md);
    background: #fff;
    box-shadow: var(--box-shd);
    z-index: 10;
}

.map-filter-layer[hidden] {
    display: none;
}

.map-marker {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--brand-brown) url(../images/common/icn_map_type06.svg) no-repeat center center / 12px;

}

.marker-type01 {
    background: var(--brand-primary) url(../images/common/icn_map_type01.svg) no-repeat center center / 12px;
}

.marker-type02 {
    background: var(--brand-purple) url(../images/common/icn_map_type02.svg) no-repeat center center / 12px;
}

.marker-type03 {
    background: var(--brand-green) url(../images/common/icn_map_type03.svg) no-repeat center center / 12px;
}

.marker-type04 {
    background: var(--brand-orange) url(../images/common/icn_map_type04.svg) no-repeat center center / 12px;
}

.marker-type05 {
    background: var(--brand-secondary) url(../images/common/icn_map_type05.svg) no-repeat center center / 12px;
}

.marker-type11 {
    background: transparent url(../images/common/icn_map_type11.svg) no-repeat center center / 12px;
}

.marker-type12 {
    background: transparent url(../images/common/icn_map_type12.svg) no-repeat center center / 12px;
}

.marker-type13 {
    background: transparent url(../images/common/icn_map_type13.svg) no-repeat center center / 12px;
}

.marker-type14 {
    background: transparent url(../images/common/icn_map_type14.svg) no-repeat center center / 12px;
}

.map-legend {
    position: absolute;
    left: 30px;
    bottom: 30px;
    z-index: 5;
    display: grid;
    gap: 8px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .14);
    font-size: var(--fz-body-sm);
    color: var(--brand-gray-800);
}

.map-legend li {
    display: flex;
    gap: var(--space-1)
}

.map-legend .map-marker {
    width: 24px;
    height: 24px;
    border-radius: 100%;
    display: block;
}

.map-control {
    position: absolute;
    top: 30px;
    right: 560px;
    z-index: 5;
    display: grid;
    overflow: hidden;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .14);
}

.map-control button {
    width: 42px;
    height: 42px;
    border-bottom: 1px solid var(--brand-gray-200);
    background: #fff;
}

.map-control button:last-child {
    border-bottom: 0;
}


.location-map {
    position: relative;
    min-height: 760px;
    overflow: hidden;
    background:
            linear-gradient(rgba(0, 0, 0, .035) 1px, transparent 1px),
            linear-gradient(90deg, rgba(0, 0, 0, .035) 1px, transparent 1px),
            #e7edf4;
    background-size: 40px 40px;
}


.location-map .map-marker {
    position: absolute;
    border: 3px solid #fff;

    transform: translate(-50%, -50%);
    box-shadow: 0 6px 14px rgba(0, 0, 0, .18);
}

.location-map .map-marker>span {
    background: #fff;
    font-size: var(--fz-body-sm);
    font-weight: 600;
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-md);
    position: absolute;
    bottom: -50px;
    opacity: 0;
}

.map-marker.current {
    width: 42px;
    height: 42px;
    outline: 4px solid var(--brand-brown);
    background-size: 20px;
}

.location-map .map-marker.current>span {
    opacity: 1;
}

.map-marker.marker-type01.current {
    outline-color: var(--brand-primary);
}

.map-marker.marker-type02.current {
    outline-color: var(--brand-purple);
}

.map-marker.marker-type03.current {
    outline-color: var(--brand-green);
}

.map-marker.marker-type04.current {
    outline-color: var(--brand-orange);
}

.map-marker.marker-type05.current {
    outline-color: var(--brand-secondary);
}


.map-marker.marker-type11.current {
    outline-color: var(--brand-primary);
}

.map-marker.marker-type12.current {
    outline-color: var(--brand-green);
}

.map-marker.marker-type13.current {
    outline-color: var(--brand-purple);
}

.map-marker.marker-type14.current {
    outline-color: var(--brand-orange);
}

.location-detail-panel {
    padding: var(--space-6);
    align-self: start;
}

.location-detail[hidden] {
    display: none;
}

.location-detail.location-detail-default {
    height: 100%;

}

.location-detail.location-detail-default .no-data {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.location-detail h4 {
    margin-top: var(--space-4);
    font-size: var(--fz-hd-md);
    font-weight: 800;
}

.location-address {
    margin-top: var(--space-1);
    color: var(--brand-gray-700);
    display: flex;
}

.location-address::before {
    content: "\ef14";
    font-family: remixicon !important;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    font-size: 20px;
    display: block
}

.location-detail-info {
    margin-top: var(--space-3);
    overflow: hidden;
    font-size: var(--fz-body-sm);
}

.location-detail-info div {
    display: grid;
    grid-template-columns: 80px 1fr;
    padding: var(--space-2) 0;
}

.location-detail-info div+div {
    border-top: 1px solid var(--brand-gray-200);
}

.location-detail-info dt {
    color: var(--brand-gray-600);
}

.location-detail-info dt i {
    margin-right: var(--space-1);
}

.location-detail-info dd {
    font-weight: 600;
}

.location-detail-info dd .btn-text {
    height: auto;
    padding: 0;
    text-decoration: underline
}

.location-detail-info.type2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 20px;
}

.location-detail-info.type2>div {
    padding: 14px;
    border-radius: 12px;
    background: var(--brand-gray-100);
}

.location-detail-info.type2>div.is-primary {
    grid-column: 1 / -1;
    background: #eef6ff;
    grid-template-columns: 120px 1fr;
}

.location-detail-info.type2>div.is-full {
    grid-column: 1 / -1;
}

.location-detail-info.type2 dt {
    margin-bottom: 6px;
    color: var(--brand-gray-800);
    font-size: var(--fz-body-xsm);
}

.location-detail-info.type2 dd {
    margin: 0;
    color: var(--brand-gray-900);
}

.location-detail-info.type2 .is-primary dd {
    font-size: 18px;
    color: var(--brand-primary);
}

.location-section {
    margin-top: var(--space-6);
}

.location-section h5 {
    margin-bottom: var(--space-2);
    font-size: var(--fz-body-lg);
    font-weight: 800;
}

.location-section p {
    line-height: 1.7;
    color: var(--brand-gray-700);
}

.location-section .files-list {
    margin-top: 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    font-size: var(--fz-body-sm);
}

.location-section .files-list .item .file-link {
    height: 46px;
}

.location-section .files-list .item .file-down-icon {
    width: 46px;
    height: 46px;
}

.location-more {
    width: 100%;
    margin-top: var(--space-6);
}

.location-detail-toggle {
    position: absolute;
    top: 50%;
    left: -35px;
    z-index: 6;
    width: 36px;
    height: 72px;
    border-radius: 12px 0 0 12px;
    background: #fff;
    /* box-shadow: 0 4px 14px rgba(0,0,0,.14); */
    transform: translateY(-50%);
}

.location-map-layout.is-detail-collapsed .location-detail-panel {
    transform: translateX(calc(100% + 40px));
}

.location-map-layout.is-detail-collapsed .location-detail-toggle {
    right: 30px;
    border-radius: 12px;
}

.location-map-layout.is-detail-collapsed .location-detail-toggle i {
    transform: rotate(180deg);
}

.location-detail-panel {
    transition: transform .25s ease;
}



@media screen and (max-width: 1280px) {
    .location-map-layout {
        grid-template-columns: 340px minmax(0, 1fr);
    }

    .location-detail-panel {
        position: fixed;
        right: 20px;
        top: 90px;
        bottom: 20px;
        z-index: 100;
        width: min(360px, calc(100% - 40px));
        overflow-y: auto;
        transform: translateX(calc(100% + 40px));
        transition: transform .25s ease;
    }

    .location-detail-panel.active {
        transform: translateX(0);
    }

    .map-control {
        right: 30px;
        top: 30px;
    }
}

@media screen and (max-width: 79.9375em) {
    #wrap.wrap-location #wrap-container {
        height: calc(100vh - 86px);
    }

    .location-map-layout {
        display: flex;
        flex-direction: column;
    }

    .location-result-panel {
        order: 2;
        max-height: none;
    }

    .location-map-main {
        order: 1;
    }

    .location-map {
        min-height: 420px;
    }

    .map-filter-bar {
        position: static;
        transform: none;
        flex-wrap: wrap;
        margin-bottom: var(--space-3);
    }

    .map-filter-dropdown {
        flex: 1 1 calc(50% - var(--space-2));
    }

    .map-filter-btn {
        width: 100%;
        min-width: 0;
    }

    .map-filter-layer {
        left: 0;
        right: 0;
        min-width: auto;
    }

    .location-detail-toggle {
        top: 0;
        left: 50%;
        transform: rotate(90deg) translateX(-50%);
    }

    .location-detail-panel {
        left: 0;
        right: 0;
        top: auto;
        bottom: 0;
        width: 100%;
        max-height: 85vh;
        border-radius: var(--radius-lg) var(--radius-lg) 0 0;
        transform: translateY(100%);
    }

    .location-detail-panel.active {
        transform: translateY(0);
    }

    .location-map-wrap {
        padding: 0;
    }

    .location-map-layout {
        display: block;
        height: 100%;
    }

    .location-map-main,
    .location-map {
        height: 100%;
        min-height: 100%;
    }

    .location-result-panel {
        position: absolute;
        left: 16px;
        right: 16px;
        top: 24px;
        z-index: 20;
        width: auto;
        height: auto;
        max-height: 48vh;

    }

    .location-search {
        padding: 14px;
        margin-bottom: 0;
    }

    .location-search .form-control {
        height: 52px;
        border-radius: 999px;
    }

    .location-filter-box {
        border-top: 1px solid var(--brand-gray-200);
    }

    .location-filter-content {
        max-height: 180px;
        overflow-y: auto;
    }

    .location-result-list {
        max-height: 220px;
        height: auto;
        padding: 12px;
        overflow-y: auto;
    }

    .map-legend {
        right: 16px;
        bottom: 50px;
        z-index: 10;
        max-width: calc(100% - 96px);
        left: inherit;
    }

    .map-control {
        right: 16px;
        bottom: 220px;
        top: auto;
        z-index: 10;
    }

    .location-detail-panel {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: 12px;
        top: auto;
        z-index: 50;
        width: auto;
        height: auto;
        max-height: 72vh;
        padding: 24px;
        border-radius: 24px;
        overflow-y: auto;
        transform: translateY(calc(100% + 24px));
        transition: transform .25s ease;
        box-shadow: 0 -8px 32px rgba(0, 0, 0, .18);
        padding-top: 50px;
    }

    .location-detail-panel.active {
        transform: translateY(0);
    }

    .location-detail.location-detail-default {
        display: none;
    }

    .location-map-layout.is-detail-collapsed .location-detail-panel {
        transform: translateY(calc(100% - 20px));
    }

    .location-detail-close {
        display: block;
        top: 16px;
        right: 16px;
    }
}


.sec-bg {
    position: relative;

}

.sec-bg::before {
    content: '';
    position: absolute;
    top: -60px;
    left: 50%;
    width: 100vw;
    height: calc(100% + 160px);
    margin-left: -50vw;
    background: var(--brand-gray-100);
    z-index: -1;
}

/* 창업적성체크 */
.sftest-wrap {
    margin-top: 100px;
}

/* 창업적성체크 - 문항 목록 */
.sftest-qlist .tb-wp {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-align: left;
    font-size: var(--font-size-base);
}

.sftest-qlist table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 16px;
}

.sftest-qlist .tb-wp thead {
    display: none;
}

.sftest-qlist .tb-wp tbody tr {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    transition: .2s;
}

.sftest-qlist .tb-wp tbody tr:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.12);
}

.sftest-qlist .tb-wp th,
.sftest-qlist .tb-wp td {
    padding: 24px;
    border-bottom: 0;
    vertical-align: middle;
    font-size: var(--font-size-base);
}

.sftest-qlist .tb-wp td:first-child {
    width: 72px;
    border-radius: 20px 0 0 20px;
}

.sftest-qlist .tb-wp td:last-child {
    width: 320px;
    border-radius: 0 20px 20px 0;
}

.sftest-qlist .tb-wp .num {
    width: 40px;
    height: 40px;
    background: var(--brand-primary-800);
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 100%;
}

.sftest-qlist .tb-wp .text-left {
    line-height: 1.6;
}

.sftest-qlist .tb-wp tr.done {
    background: #f8fafc;
}

.sftest-qlist .tb-wp tr.done .num {
    background: #94a3b8;
}

.sftest-qlist .tb-wp tr.done .text-left {
    color: #64748b;
}


.sftest-qlist .tb-wp tr.done {
    background: #f8f8f8;
    /* color: #777; */
}

.sftest-qlist .tb-wp tr.done .text-left {
    color: #777
}

.sftest-qlist .tb-wp tr.done .num {
    background: #bfcbc3;
}

.sftest-qlist .chk-area {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.sftest-qlist .chk-area li {
    width: auto;
    min-width: 72px;
    margin: 0;
}

.sftest-qlist .chk-area input[type="radio"]:before {
    border: 1px solid #dbe4f0;
    border-radius: 999px;
    background: #f8fafc;
}

.sftest-qlist .chk-area input[type="radio"]:checked:before {
    border-color: var(--brand-primary);
    background: #eff6ff;
}

.sftest-qlist .chk-area label {
    padding: 12px 16px;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    color: #475569;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--brd-color);
    border-radius: var(--radius-md);
}

.sftest-qlist .chk-area label:before {
    display: none;
}

.sftest-qlist .chk-area input:checked+label {
    color: var(--brand-primary);
}

.sftest-qlist .chk-area label:before {
    content: '';
    width: 32px;
    height: 32px;
    margin: 0px auto 4px;
    display: block;
    background: url('../images/content/strtuptest_bul_01_off.svg') center center no-repeat;
    transition: all .2s ease-in-out;
}

.sftest-qlist .chk-area li:nth-child(2) label:before {
    background: url('../images/content/strtuptest_bul_02_off.svg') center center no-repeat;
}

.sftest-qlist .chk-area li:nth-child(3) label:before {
    background: url('../images/content/strtuptest_bul_03_off.svg') center center no-repeat;
}

.sftest-qlist .chk-area input:checked+label {
    font-weight: 700;
}

.sftest-qlist .chk-area li:nth-child(1) input:checked+label:before {
    background: url('../images/content/strtuptest_bul_01_on.svg') center center no-repeat;
}

.sftest-qlist .chk-area li:nth-child(2) input:checked+label:before {
    background: url('../images/content/strtuptest_bul_02_on.svg') center center no-repeat;
}

.sftest-qlist .chk-area li:nth-child(3) input:checked+label:before {
    background: url('../images/content/strtuptest_bul_03_on.svg') center center no-repeat;
}

/* 창업적성체크 -결과 */
.sftest-result {
    display: none;
}

.sftest-result.is-active {
    display: block;
}

.sftest-result .result-wp {
    margin-top: 48px;
}

.sftest-result .result-wp .box-rd {
    padding: 40px;
    border: 1px solid #dbe4f0;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
}

.sftest-result .result-wp .box-rd>div {
    max-width: 860px;
    margin: 0 auto;
}

.sftest-result .result-wp .box-result.box-rd {
    margin-top: 24px;
    border-top: 0;
    background: #f8fafc;
}

.sftest-result .progress {
    padding: 8px 0 0;
}

.sftest-result .progress ul {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sftest-result .progress .progress-bar {
    position: relative;
    width: 100%;
    height: 18px;
    margin: 48px 0 18px;
    border-radius: 999px;
    background: linear-gradient(90deg,
    #fecaca 0%,
    #fed7aa 35%,
    #bbf7d0 70%,
    #bfdbfe 100%);
    overflow: hidden;
}

.sftest-result .progress-data {
    position: relative;
    height: 96px;
    margin-top: -34px;
}

.sftest-result .progress-data .sum-txt {
    position: absolute;
    transform: translateX(-50%);
}

.sftest-result .progress-data .sum-txt p {
    position: relative;
    min-width: 88px;
    margin-top: 52px;
    padding: 10px 14px;
    border: 0;
    border-radius: 14px;
    background: #111827;
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    text-align: center;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
}

.sftest-result .progress-data .sum-txt p::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -40px;
    width: 2px;
    height: 40px;
    background: #111827;
    transform: translateX(-50%);
}

.sftest-result .progress-data .sum-txt p::after {
    content: '';
    position: absolute;
    left: 50%;
    top: -50px;
    width: 18px;
    height: 18px;
    border: 4px solid #111827;
    border-radius: 50%;
    background: #fff;
    transform: translateX(-50%);
}

.sftest-result .progress-txt {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    color: #64748b;
}

.sftest-result .progress-txt li {
    width: auto;
    height: auto;
    font-size: 14px;
    font-weight: 700;
}

.sftest-result .progress-txt li::before,
.sftest-result .progress-txt li::after {
    display: none;
}

.result-case {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 28px;
    align-items: flex-start;
}

.result-case .deco {
    width: 96px;
    height: 96px;
    border: 0;
    border-radius: 24px;
    background-color: #fff;
    box-shadow: inset 0 0 0 1px #e5e7eb;
}

.result-case.case1 .deco {
    background: url('../images/content/strtuptest_ico_01.svg') center center no-repeat #fff;
}

.result-case.case2 .deco {
    background: url('../images/content/strtuptest_ico_02.svg') center center no-repeat #fff;
}

.result-case.case3 .deco {
    background: url('../images/content/strtuptest_ico_03.svg') center center no-repeat #fff;
}

.result-case .txt_lg {
    font-size: 28px;
    line-height: 1.4;
    font-weight: 800;
    color: #111827;
}

.result-case #resultContent {
    margin: 16px 0 24px;
    font-size: 17px;
    line-height: 1.7;
    color: #334155;
}

.result-case .help-line {
    padding: 18px 20px;
    border-radius: 14px;
    background: #fff7ed;
    color: #9a3412;
    font-size: var(--fz-body-sm);
    line-height: 1.6;
}

.result-case .txt-desc {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #e2e8f0;
    color: #64748b;
}

@media (max-width: 1024px) {
    .sftest-qlist .tb-wp tbody tr {
        display: grid;
        grid-template-columns: 56px 1fr;
        gap: 0;
        padding: 20px;
        margin-bottom: 20px;
    }

    .sftest-qlist .tb-wp tbody tr td {
        width: auto !important;
        padding: 0;
    }

    .sftest-qlist .tb-wp tbody tr td:first-child,
    .sftest-qlist .tb-wp tbody tr td:last-child {
        border-radius: 0;
    }

    .sftest-qlist .tb-wp tbody tr td:nth-child(3) {
        grid-column: 1 / -1;
        margin-top: 18px;
    }

    .sftest-qlist .chk-area {
        justify-content: stretch;
    }

    .sftest-qlist .chk-area li {
        flex: 1;
    }
}

@media (max-width: 640px) {
    .sftest-qlist table {
        border-spacing: 0 12px;
    }

    .sftest-qlist .tb-wp tbody tr {
        padding: 16px;
        border-radius: 16px;
    }

    .sftest-qlist .tb-wp .text-left {
        font-size: 16px;
    }

    .sftest-qlist .chk-area {
        gap: 6px;
    }

    .sftest-qlist .chk-area label {
        padding: 10px 8px;
        font-size: 14px;
    }

    .sftest-result .result-wp .box-rd {
        padding: 24px;
        border-radius: 18px;
    }

    .result-case {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .result-case .deco {
        width: 72px;
        height: 72px;
        border-radius: 18px;
    }

    .result-case .txt_lg {
        font-size: 22px;
    }

    .sftest-result .progress-data .sum-txt p {
        min-width: 72px;
        font-size: 14px;
    }
}


/* 사이트 맵 */
.sitemap-wrap .gnb-depth-1 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-10);
}

.sitemap-wrap a {
    position: relative;
}

.sitemap-wrap a:hover {
    color: var(--youth-primary);
    text-decoration: underline;
}

.sitemap-wrap a[target="_blnak"]::after {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background: url(../images/common/icn_go_new.svg) no-repeat center center / contain;
}

.sitemap-wrap .depth-1 {
    position: relative;
}

.sitemap-wrap .depth-1>a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-4) var(--space-2);
    font-size: var(--fz-body-lg);
    font-weight: 700;
    border-radius: var(--radius-lg);
    background: var(--brand-gray-100)
}

.sitemap-wrap .depth-1>a:hover {
    color: #fff;
    background: var(--brand-primary)
}

.sitemap-wrap .gnb-depth-2>b {
    display: none;
}

.sitemap-wrap .gnb-depth-2 {
    padding-top: 2rem;
}

.sitemap-wrap .depth-2 {
    padding: 0.5rem 0;
}

.sitemap-wrap .depth-2>a {
    width: 100%;
    padding: 0.5rem 0;
    font-weight: 600;
    font-size: var(--fz-body-md);
}

.sitemap-wrap .gnb-depth-3 {
    padding: 1rem 0 0;
}

.sitemap-wrap .depth-3 {
    padding: 5px 0;
}

.sitemap-wrap .depth-3>a {
    padding: 0 0 0 1.5rem;
}

.sitemap-wrap .depth-3>a::before {
    content: '';
    display: inline-block;
    position: absolute;
    top: 10px;
    left: 2px;
    width: 5px;
    height: 1px;
    background: #666;
}

@media (max-width: 1140px) {

    .sitemap-wrap .depth-1 {
        position: relative;
        width: calc(100% / 2);
    }
}

@media (max-width: 768px) {

    .sitemap-wrap .depth-1 {
        position: relative;
        width: 100%;
    }
}



/* 마이페이지 */
.mypage-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: var(--space-8);
    align-items: start
}


.mypage-content {
    min-width: 0;
    padding: var(--space-8);
    border: 1px solid var(--brand-gray-300);
    border-radius: var(--radius-lg);
    background: var(--brand-gray-0)
}

.mypage-content-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-4);
    margin-bottom: var(--space-6)
}

.mypage-content-head>div>p {
    margin-bottom: var(--space-1);
    font-size: var(--fz-body-xsm);
    font-weight: 700
}

.mypage-content-head h3 {
    font-size: var(--fz-hd-lg);
    line-height: 1.25
}

.mypage-content .form-box {
    padding: 0;
    border: 0;
}

.mypage-content .comp-box {
    border: 0;
}

.mypage-guide {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    margin-bottom: var(--space-6);
    padding: var(--space-4);
    border: 1px solid var(--brand-primary-300);
    border-radius: var(--radius-md);
    background: var(--brand-primary-100);
    color: var(--brand-primary-800);
    font-size: var(--fz-body-sm)
}

.mypage-guide i {
    flex: 0 0 auto;
    margin-top: 2px;
    color: var(--brand-primary)
}

.mypage-form .form-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-4)
}

.mypage-form .form-row {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: var(--space-4);
    align-items: center;
}

.mypage-form .form-label {
    font-size: var(--fz-body-sm);
    font-weight: 500
}

.mypage-form .form-field {
    min-width: 0
}

.mypage-form .form-control,
.mypage-form .form-select {
    width: 100%
}

.mypage-form .form-control[readonly] {
    background: var(--brand-gray-100);
    color: var(--brand-gray-700)
}

.mypage-email {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) 160px;
    gap: var(--space-2);
    align-items: center
}

.mypage-address {
    display: flex;
    flex-direction: column;
    gap: var(--space-2)
}

.mypage-address-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-2)
}

.mypage-address-row .btn {
    min-width: 120px
}

.mypage-form-actions {
    justify-content: flex-end;
    margin-top: var(--space-8)
}

.mypage-form-actions .btn {
    min-width: 110px
}

@media screen and (max-width:991px) {
    .mypage-layout {
        grid-template-columns: 1fr
    }
}

@media screen and (max-width:767px) {
    .mypage-content {
        padding: var(--space-5)
    }

    .mypage-content-head {
        align-items: flex-start;
        flex-direction: column
    }

    .mypage-form .form-row {
        grid-template-columns: 1fr;
        gap: var(--space-2)
    }

    .mypage-email {
        grid-template-columns: 1fr 24px 1fr
    }

    .mypage-email .form-select {
        grid-column: 1/-1
    }

    .mypage-address-row {
        grid-template-columns: 1fr
    }

    .mypage-address-row .btn {
        width: 100%
    }

    .mypage-form-actions {
        display: grid;
        grid-template-columns: repeat(2, 1fr)
    }

    .mypage-form-actions .btn {
        width: 100%;
        min-width: 0
    }
}

@media screen and (max-width:480px) {
    .mypage-nav-list>ul {
        grid-template-columns: 1fr
    }

    .mypage-email {
        grid-template-columns: 1fr
    }

    .mypage-email>span {
        display: none
    }

    .mypage-email .form-select {
        grid-column: auto
    }
}


/* =============================================================
   Mypage navigation
============================================================= */

.mypage-nav {
    position: sticky;
    top: var(--space-6);
    overflow: hidden;
    border: 1px solid var(--brd-color);
    border-radius:
            var(--radius-xlg);
    background-color:
            var(--brand-gray-0);
    /* box-shadow:
        0 8px 30px
        rgba(32, 50, 86, .06); */
}


/* header */

.mypage-nav-head {
    padding:
            var(--space-7) var(--space-6) var(--space-6);

    background:
            linear-gradient(145deg,
            var(--brand-primary-100) 0%,
            #fff 100%);
}


.mypage-nav-eyebrow {
    margin: 0 0 var(--space-1);

    color:
            var(--brand-primary);

    font-size:
            var(--fz-body-xsm);

    font-weight: 700;

    letter-spacing: .08em;
}


.mypage-nav-head>strong {
    display: block;

    font-size:
            var(--fz-hd-md);

    line-height: 1.25;
}


.mypage-nav-desc {
    margin-top:
            var(--space-3);

    color:
            var(--brand-gray-700);

    font-size:
            var(--fz-body-xsm);

    line-height: 1.6;
}


/* menu */

.mypage-nav-list {
    padding:
            var(--space-5) var(--space-4);
}


.mypage-nav-group+.mypage-nav-group {
    margin-top:
            var(--space-6);
    padding-top:
            var(--space-5);
    border-top: 1px solid var(--brd-color);
}


.mypage-nav-group-title {
    margin-bottom:
            var(--space-2);
    padding:
            0 var(--space-3);
    color: var(--brand-gray-800);
    font-size:
            var(--fz-body-xsm);
}


.mypage-nav-group ul {
    display: flex;

    flex-direction: column;

    gap:
            var(--space-1);
}


.mypage-nav-group a {
    position: relative;

    display: flex;

    align-items: center;

    gap:
            var(--space-3);

    min-height: 50px;

    padding:
            0 var(--space-3);

    border-radius:
            var(--radius-md);

    color:
            var(--brand-gray-800);

    font-size:
            var(--fz-body-sm);

    transition:
            color var(--basic-transition),
            background-color var(--basic-transition),
            transform var(--basic-transition);
}


.mypage-nav-group a i {
    flex:
            0 0 22px;

    color:
            var(--brand-gray-600);

    font-size:
            var(--fz-body-lg);

    text-align:
            center;
}


.mypage-nav-group a:hover,
.mypage-nav-group a:focus-visible {
    color:
            var(--brand-primary);

    background-color:
            var(--brand-primary-100);
}


.mypage-nav-group li.is-active a {
    color:
            var(--brand-primary-900);

    background-color:
            var(--brand-primary-100);

    font-weight:
            700;
}


.mypage-nav-group li.is-active a::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -4px;

    width: 4px;
    height: 24px;

    border-radius:
            0 4px 4px 0;

    background-color:
            var(--brand-primary);

    transform:
            translateY(-50%);
}


.mypage-nav-group li.is-active a i {
    color:
            var(--brand-primary);
}


/* 탈퇴 */

.mypage-nav-group--etc a {
    color:
            var(--brand-gray-600);
}


.mypage-nav-group--etc a:hover,
.mypage-nav-group--etc a:focus-visible {
    color:
            var(--brand-red);

    background-color:
            var(--brand-red-100);
}


.mypage-nav-group--etc a:hover i,
.mypage-nav-group--etc a:focus-visible i {
    color:
            var(--brand-red);
}


/* 올케어서비스 연결 */

.mypage-nav-service {
    margin:
            0 var(--space-4) var(--space-4);
    padding:
            var(--space-5);
    border-radius:
            var(--radius-lg);
    color:
            var(--brand-gray-0);
    background:
            linear-gradient(145deg,
            var(--brand-primary-900),
            var(--brand-blue));
}


.mypage-nav-service-label {
    display: block;

    color:
            var(--brand-secondary);

    font-size:
            var(--fz-body-xsm);

    font-weight:
            700;

    letter-spacing:
            .05em;
}


.mypage-nav-service strong {
    display: block;

    margin-top:
            var(--space-2);

    font-size:
            var(--fz-body-sm);

    line-height:
            1.55;
}


.mypage-nav-service .btn {
    width: 100%;
    margin-top:
            var(--space-4);
    background-color:
            var(--brand-gray-0);
    color:
            var(--brand-primary-900);
    font-size: var(--fz-body-xsm);
}


/* =============================================================
   Tablet
============================================================= */

@media screen and (max-width: 991px) {

    .mypage-nav {
        position: static;
    }


    .mypage-nav-head {
        padding:
                var(--space-5);
    }


    .mypage-nav-desc {
        display: none;
    }


    .mypage-nav-list {
        display: flex;

        gap:
                var(--space-2);

        padding:
                var(--space-3);

        overflow-x: auto;
    }


    .mypage-nav-group {
        flex:
                0 0 auto;
    }


    .mypage-nav-group+.mypage-nav-group {
        margin-top: 0;

        padding-top: 0;

        border-top: 0;
    }


    .mypage-nav-group-title {
        display: none;
    }


    .mypage-nav-group ul {
        flex-direction: row;

        gap:
                var(--space-2);
    }


    .mypage-nav-group a {
        min-height: 44px;

        padding:
                0 var(--space-4);

        border:
                1px solid var(--brand-gray-200);

        white-space:
                nowrap;
    }


    .mypage-nav-group li.is-active a::before {
        display: none;
    }


    .mypage-nav-service {
        display: none;
    }

}


/* =============================================================
   Mobile
============================================================= */

@media screen and (max-width: 767px) {

    .mypage-nav-head {
        padding:
                var(--space-4);
    }


    .mypage-nav-head>strong {
        font-size:
                var(--fz-hd-sm);
    }


    .mypage-nav-list {
        padding:
                var(--space-2);
    }


    .mypage-nav-group a {
        min-height: 40px;

        padding:
                0 var(--space-3);

        font-size:
                var(--fz-body-xsm);
    }


    .mypage-nav-group a i {
        display: none;
    }

}



.section-cont-bg {
    position: relative;
}

.section-cont-bg::before {
    content: '';
    position: absolute;
    top: -60px;
    left: 50%;
    width: 100vw;
    height: calc(100% + 160px);
    margin-left: -50vw;
    background: var(--brand-gray-100);
    z-index: -1;
}

/* 개별입지 안내 */

.site-compare-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px
}

.site-compare-card {
    overflow: hidden;
    border: 1px solid var(--brd-color);
    border-radius: 28px;
    background: #fff;

}

.site-compare-card.is-planned {
    --compare-color: var(--brand-primary);
    --compare-color2: var(--brand-primary-800);
    --compare-bg: var(--brand-primary-100);
}

.site-compare-card.is-individual {
    --compare-color: var(--brand-secondary);
    --compare-color2: var(--brand-secondary-800);
    --compare-bg: var(--brand-secondary-100);
}

.site-compare-title {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: var(--space-4);
    background: var(--compare-bg)
}

.site-compare-title>span {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    border-radius: 100%;
    background-color: #fff;
    color: var(--compare-color);
    font-size: 30px
}

.site-compare-title small {
    color: var(--compare-color);
    font-weight: 800;
    letter-spacing: .08em
}

.site-compare-title h4 {
    margin: 3px 0 0;
    font-size: var(--fz-hd-sm);
}

.site-compare-card dl {
    margin: 0;
    padding: 28px 34px;
    border-bottom: 1px solid  var(--brd-color)
}

.site-compare-card dl div {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 14px;
    min-height: 60px;
}

.site-compare-card dt {
    color: var(--compare-color);
    font-weight: 900
}

.site-compare-card dd {
    margin: 0;
    line-height: 1.65
}

.site-pros-cons {
    display: grid;
    grid-template-columns: 1fr 1fr
}

.site-pros-cons>div {
    padding: 28px 30px
}

.site-pros-cons>div+div {
    border-left: 1px solid var(--brd-color)
}
.site-pros-cons>div+div strong {
    background:var(--compare-color2)
}
.site-pros-cons strong {
    display: flex;
    margin-bottom: 14px;
    background: var(--compare-color);
    font-size: var(--fz-body-lg);
    color: #fff;
    padding: var(--space-2);
    border-radius: var(--radius-xxlg);
    justify-content: center;
    align-items: center;
    gap: var(--space-2);
}
/* Content layout variants: keep presentation out of JSP style attributes. */
.site-process-list--cols-3 { --cols: 3; }
.site-process-list--cols-4 { --cols: 4; }
.site-process-list--cols-5 { --cols: 5; }
.site-process-list--cols-6 { --cols: 6; }
col.site-table-col--12 { width: 12%; }
col.site-table-col--14 { width: 14%; }
col.site-table-col--18 { width: 18%; }
col.site-table-col--20 { width: 20%; }
col.site-table-col--24 { width: 24%; }
col.site-table-col--25 { width: 25%; }
col.site-table-col--30 { width: 30%; }
col.site-table-col--40 { width: 40%; }
col.site-table-col--60 { width: 60%; }
col.site-table-col--62 { width: 62%; }
col.site-table-col--70 { width: 70%; }

.site-process-list {
    display: grid;
    grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
    gap: 18px;
}

.site-process-list li {
    position: relative;
    min-width: 0;
    padding: 26px 18px;
    border: 1px solid var(--brd-color);
    border-radius: var(--radius-xlg);
    background: #fff;
    text-align: center;
}

.site-process-list li::after {
    content: "\ea6c";
    position: absolute;
    z-index: 2;
    top: 50%;
    right: -22px;
    transform: translateY(-50%);
    font-family: remixicon;
    font-size: 24px
}

.site-process-list li:last-child::after {
    display: none
}

.site-process-list li>span {
    position: absolute;
    top: 0;
    left: 0;
    color: var(--brand-primary);
    width: 40px;
    height: 40px;
    display:flex;
    border-radius: var(--radius-xlg) 0 10px 0;
    background-color:var(--brand-primary-100);
    font-size: var(--fz-body-xsm);
    font-weight: 900;
    justify-content: center;
    align-items: center;
}

.site-process-list i {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    margin: 0 auto 18px;
    border-radius: 20px;
    color: #fff;
    background: linear-gradient(145deg, var(--brand-primary), var(--brand-secondary));
    font-size: 30px;
}

.site-process-list strong {
    display: block;
    font-size: var(--fz-body-lg)
}

.site-process-list p {
    margin: 10px 0 0;
    color: var(--brand-gray-700);
    font-size: var(--fz-body-sm);
    line-height: 1.5
}

@media screen and (max-width:1024px) {
    .site-compare-grid {
        grid-template-columns: 1fr
    }

    .site-process-list {
        grid-template-columns: repeat(
            min(var(--cols), 3),
            minmax(0, 1fr)
        );
    }

    .site-process-list li:nth-child(3)::after {
        display: none
    }

}

@media screen and (max-width:767px) {
    .site-compare-title,
    .site-compare-card dl,
    .site-pros-cons>div {
        padding: 22px
    }

    .site-pros-cons {
        grid-template-columns: 1fr
    }

    .site-pros-cons>div+div {
        border-top: 1px solid var(--brand-gray-200);
        border-left: 0
    }

    .site-process-section {
        padding: 30px 20px
    }

    .site-process-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    /* 본문 안의 절차도는 모바일에서 읽는 순서대로 한 열에 배치 */
    .cont-body > .site-process-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .site-process-list li {
        display: grid;
        grid-template-columns: 54px 1fr;
        column-gap: 16px;
        text-align: left
    }

    .site-process-list li::after {
        top: auto;
        right: 50%;
        bottom: -24px;
        transform: translateX(50%) rotate(90deg)
    }

    .site-process-list li:nth-child(3)::after {
        display: block
    }

    .site-process-list li:last-child::after {
        display: none
    }
    .site-process-list li>span {
        right: 0;
        left: inherit;
        border-radius: 0 var(--radius-xlg) 0 10px;
    }

    .site-process-list i {
        grid-row: 1/3;
        width: 54px;
        height: 54px;
        margin: 0
    }

    .site-process-list strong {
        align-self: end;
        min-height: 0
    }

    .site-process-list p {
        align-self: start
    }

}

@media screen and (max-width:480px) {
    .site-compare-card dl div {
        grid-template-columns: 1fr
    }

}
/* 원스탑 서비스 사업 범위: 기존 비교 카드의 4열·단색 변형 */
.site-scope-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-6);
}
.site-scope-grid .site-compare-card {
    --compare-color: var(--brand-gray-900);
    --compare-color2: var(--brand-gray-900);
    --compare-bg: var(--brand-gray-100);
    display: flex;
    flex-direction: column;
    color: var(--brand-gray-900);
    border-radius: var(--radius-lg);
}
.site-scope-grid .site-compare-title {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4);
    padding: var(--space-6);
    flex: 1;
}
.site-scope-grid .site-compare-title > span {
    flex-shrink: 0;
}
.site-scope-grid .site-compare-title h4 {
    font-size: var(--fz-body-lg);
}
.site-scope-grid .site-compare-card dl {
    padding: var(--space-6);
    border-bottom: 0;
}
.site-scope-grid .site-compare-card dl div {
    grid-template-columns: 1fr;
    gap: var(--space-2);
    min-height: 0;
}

/* 세로형 지원절차: 크기·간격·강조색을 공통 토큰으로 제어 */
.site-process-timeline {
    --step-size: calc(var(--space-8) * 2);
    --step-gap: var(--space-6);
    --step-color: var(--brand-primary);
    --step-bg: var(--brand-primary-100);
    --step-line: var(--brand-gray-400);
    display: grid;
    gap: var(--step-gap);
}
.site-process-timeline > li {
    position: relative;
    display: grid;
    grid-template-columns: var(--step-size) minmax(0, 1fr);
    gap: var(--step-gap);
}
.site-process-timeline > li:not(:last-child)::before {
    content: '';
    position: absolute;
    top: var(--step-size);
    left: calc(var(--step-size) / 2);
    bottom: calc(-1 * var(--step-gap));
    width: 1px;
    background: var(--step-line);
}
.site-process-timeline .step-number {
    display: grid;
    place-items: center;
    width: var(--step-size);
    height: var(--step-size);
    border-radius: 50%;
    background: var(--step-color);
    color: var(--brand-gray-0);
    font-size: var(--fz-body-lg);
    font-weight: 700;
}
.site-process-timeline .step-card {
    min-width: 0;
    padding: var(--space-6);
    background: var(--bg-light);
    border: 1px solid var(--step-line);
    border-radius: var(--radius-lg);
}
.site-process-timeline .step-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--space-3) var(--space-5);
}
.site-process-timeline h4 {
    color: var(--brand-gray-900);
    font-size: var(--fz-body-lg);
    font-weight: 700;
}
.site-process-timeline .step-label {
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-xlg);
    background: var(--step-bg);
    color: var(--step-color);
    font-size: var(--fz-body-sm);
    font-weight: 600;
}
.site-process-timeline .step-card > p {
    margin-top: var(--space-3);
    color: var(--brand-gray-800);
}
@media (max-width: 1024px) {
    .site-scope-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767px) {
    .site-process-timeline {
        --step-size: var(--space-10);
        --step-gap: var(--space-3);
    }
    .site-process-timeline .step-card {
        padding: var(--space-4);
    }
    .site-process-timeline .step-heading {
        flex-direction: column;
    }
}
@media (max-width: 480px) {
    .site-scope-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* 기업애로 상담: 원본 2단 카드 레이아웃, 프로젝트 공통 토큰 적용 */
.consult-symbols { position: absolute; width: 0; height: 0; overflow: hidden; }
.consult-wrap {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
    gap: var(--space-8);
    align-items: stretch;
}
.consult-box {
    min-width: 0;
    padding: var(--space-10);
    border: 1px solid var(--brd-color);
    border-radius: var(--radius-lg);
    background: var(--bg-light);
    box-sizing: border-box;
}
.consult-icon, .kakao-icon {
    display: flex; align-items: center; justify-content: center;
    width: calc(var(--space-7) * 2); height: calc(var(--space-7) * 2);
    margin-bottom: var(--space-6); border-radius: var(--radius-lg);
}
.consult-icon { color: var(--brand-primary); background: var(--brand-primary-100); }
.consult-icon svg, .kakao-icon svg { width: var(--space-7); height: var(--space-7); }
.consult-icon svg, .contact-item svg, .kakao-link svg {
    fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.consult-title {
    margin: 0 0 var(--space-3); font-size: var(--fz-hd-md);
    font-weight: 700; letter-spacing: -.03em; line-height: 1.4; color: var(--brand-gray-900);
}
.consult-desc { margin: 0; font-size: var(--fz-body-sm); line-height: 1.7; color: var(--brand-supporting-800); }
.consult-info {
    display: grid;
    gap: var(--space-3);
    margin: var(--space-8) 0 var(--space-10);
    background: var(--brand-primary-100);
    border-radius: var(--radius-md);
    padding: var(--space-5);
}
.consult-info > div { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: var(--space-5); }
.consult-info dt, .consult-info dd { margin: 0; font-size: var(--fz-body-sm); line-height: 1.6; }
.consult-info dt { font-weight: 500; color: var(--brand-gray-800); }
.consult-info dd {}
.consult-manager-head { margin-bottom: var(--space-5); }
.consult-manager-head h4 { margin: 0 0 var(--space-3); font-size: var(--fz-body-rg); font-weight: 700; color: var(--brand-gray-900); }
.consult-manager-head p { margin: 0; font-size: var(--fz-body-xsm); color: var(--brand-gray-800); }
.consult-table-wrap { overflow-x: auto; border-top: 1px solid var(--brand-gray-900); border-bottom: 1px solid var(--brd-color); }
.consult-table {width: 100%;min-width: 720px;border-spacing: 0;border-collapse: collapse;table-layout: fixed;}
.consult-table caption { width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.consult-table .col-field { width: 18%; }
.consult-table .col-manager { width: 20%; }
.consult-table .col-phone { width: 27%; }
.consult-table .col-email { width: 35%; }
.consult-table th, .consult-table td {
    padding: var(--space-4) var(--space-5);
    border-bottom: 1px solid var(--brand-gray-200);
    font-size: var(--fz-body-sm);
    line-height: 1.5;
    vertical-align: middle;
    text-align: center;
}
.consult-table thead th {font-weight: 600;color: var(--brand-supporting-800);background: var(--brand-gray-100);text-align: center;}
.consult-table tbody th { font-weight: 600; color: var(--brand-gray-900); background: var(--bg-light); }
.consult-table tbody td { color: var(--brand-supporting-800); }
.consult-table tbody tr:last-child > * { border-bottom: 0; }
.consult-wrap .contact-item { display: inline-flex; align-items: center; gap: var(--space-2); color: inherit; text-decoration: none; white-space: nowrap; }
.consult-wrap a.contact-item { color: var(--brand-supporting-800); }
.consult-wrap a.contact-item:hover { text-decoration: underline; }
.consult-wrap .contact-item svg { flex: 0 0 auto; width: var(--fz-body-sm); height: var(--fz-body-sm); color: var(--brand-gray-600); }
.consult-box--kakao {
    --kakao-yellow: #FEE500;
    --kakao-ink: #191919;
    position: relative;
    align-self: start;
    overflow: hidden;
    background: var(--kakao-yellow);
    border-color: var(--kakao-yellow);
    color: var(--kakao-ink);
    padding-top: var(--space-10);
    padding-bottom: var(--space-10);
    height: 100%;
}
.consult-box--kakao .consult-title,
.consult-box--kakao .consult-desc,
.consult-box--kakao .kakao-subtext { color: var(--kakao-ink); }
.consult-box--kakao .consult-title { margin-bottom: var(--space-5); }


.kakao-content { position: relative; z-index: 1; }
.kakao-icon { justify-content: flex-start; color: var(--kakao-ink); background: none; margin-bottom: var(--space-8); }
.kakao-icon svg { width: var(--space-10); height: var(--space-10); }
.kakao-icon svg { fill: currentColor; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.kakao-subtext { margin: var(--space-4) 0 var(--space-10); font-size: var(--fz-body-xsm); line-height: 1.7; color: var(--brand-gray-800); }
.kakao-link {
    display: flex; align-items: center; justify-content: center; gap: var(--space-2);
    width: 100%; min-height: calc(var(--space-7) * 2); padding: var(--space-3) var(--space-5);
    border-radius: var(--radius-md); box-sizing: border-box;
    background: var(--kakao-ink); color: var(--kakao-yellow);
    font-size: var(--fz-body-sm); font-weight: 700; text-decoration: none;
}
.kakao-link:hover { background: var(--brand-supporting-800); }
.consult-box--kakao a:focus-visible { outline-color: var(--kakao-ink); outline-offset: var(--space-1); }
.kakao-link svg { flex-shrink: 0; width: var(--fz-body-md); height: var(--fz-body-md); }
.consult-wrap a:focus-visible, .consult-table-wrap:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 2px; }
@media (max-width: 1024px) {
    .consult-wrap { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
    .consult-wrap { gap: var(--space-4); }
    .consult-box { padding: var(--space-6) var(--space-5); border-radius: var(--space-3); }
    .consult-title { font-size: var(--fz-body-lg); }
    .consult-desc { font-size: var(--fz-body-sm); }
    .consult-info { margin: var(--space-6) 0 var(--space-8); padding: var(--space-5) 0; }
    .consult-info > div { grid-template-columns: 72px minmax(0, 1fr); gap: var(--space-3); }
    .consult-info dt, .consult-info dd { font-size: var(--fz-body-xsm); }
    .consult-manager-head h4 { font-size: var(--fz-body-md); }

}



/* 개인정보처리방침, 이용약관 */
.legal-wrap { overflow-wrap: anywhere; }
.legal-wrap > section, .privacy-toc, .privacy-details, .terms-chapter + .terms-chapter { margin-top: var(--space-10); }
.legal-body { line-height: 1.8; }
.legal-body > * + * { margin-top: var(--space-4); }
.legal-list > li { padding-left: 1.5em !important; text-indent: -1.5em; }
.legal-list > li > .legal-list { margin-top: var(--space-2); text-indent: 0; }
.privacy-labels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--brand-primary-800); border-left: 1px solid var(--brd-color); }
.privacy-labels > li { padding: var(--space-6); border-right: 1px solid var(--brd-color); border-bottom: 1px solid var(--brd-color); }
.privacy-icon { display: block; object-fit: contain; flex-shrink: 0; }
.privacy-labels .privacy-icon { width: 80px; height: 80px; margin-bottom: var(--space-3); }
.privacy-labels h4 { color: var(--brand-primary-900); font-size: var(--fz-body-md); font-weight: 700; margin-bottom: var(--space-2); }
.privacy-label-summary { font-size: var(--fz-body-sm); line-height: 1.65; }
.privacy-label-summary p + p { margin-top: var(--space-1); }
.privacy-toc { padding: var(--space-8); background: var(--brand-primary-100); }
.privacy-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-8); }
.privacy-toc li { border-bottom: 1px solid var(--brand-primary-300); }
.privacy-toc a { display: flex; align-items: center; gap: var(--space-3); min-height: 56px; padding: var(--space-4) 0; }
.privacy-toc .privacy-icon { width: 32px; height: 32px; }
.privacy-number { color: var(--brand-blue); font-weight: 700; font-variant-numeric: tabular-nums; }
.privacy-toc a:hover span:last-child { text-decoration: underline; text-underline-offset: 4px; }
.legal-wrap a:focus-visible, .privacy-section:focus-visible { outline: 2px solid var(--brand-blue); outline-offset: 4px; }
.privacy-section { scroll-margin-top: 140px; padding-top: var(--space-8); border-top: 1px solid var(--brd-color); }
.privacy-section + .privacy-section { margin-top: var(--space-10); }
.privacy-title { display: flex; align-items: flex-start; gap: var(--space-4); margin-bottom: var(--space-6); }
.privacy-title .privacy-icon { width: 40px; height: 40px; }
.privacy-title h3 { font-size: var(--fz-hd-md); font-weight: 700; color: var(--brand-primary-900); line-height: 1.5; }
.legal-table-title { font-size: var(--fz-body-lg); font-weight: 600; margin-top: var(--space-6); }
.legal-contact table { width: 100%; table-layout: fixed; }
.legal-contact th { width: 25%; background: var(--brand-gray-100); }
.legal-contact td { text-align: left !important; }
.legal-contact a { text-decoration: underline; text-underline-offset: 4px; }
.terms-section + .terms-section { margin-top: var(--space-8); }
.terms-chapter + .terms-chapter { padding-top: var(--space-10); border-top: 1px solid var(--brd-color); }
@media (max-width: 1200px) {
    .privacy-labels { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
    /* 공통 헤더 마크업을 유지하면서 이 두 페이지의 모바일 넘침을 방지한다. */
    .legal-page #wrap-header { padding-inline: 15px; justify-content: space-between; }
    .legal-page #wrap-header .header-access { margin-left: auto; }
    .legal-page #wrap-header .header-access > :not(#open-m-gnb) { display: none; }
    .legal-page #wrap-header #open-m-gnb { display: block; width: 44px; height: 44px; }
    .legal-page #wrap-header .mobile-gnb .sidebar-wrap { overflow-x: clip; }
    .privacy-labels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .privacy-labels > li { padding: var(--space-4); }
    .privacy-toc { padding: var(--space-5); }
    .privacy-toc ol { grid-template-columns: minmax(0, 1fr); }
    .privacy-title { gap: var(--space-3); }
    .privacy-title h3 { font-size: var(--fz-body-lg); }
    .privacy-section { scroll-margin-top: 100px; }
    .legal-contact table { display: table; }
    .legal-contact table tbody { display: table-row-group; }
    .legal-contact table tbody tr { display: table-row; }
    .legal-contact table tbody td { display: table-cell; padding: var(--space-3); border: 1px solid var(--brd-color); }
    .legal-contact table th { width: 30%; padding: var(--space-3); }
}
@media (max-width: 480px) {
    .privacy-labels { grid-template-columns: minmax(0, 1fr); }
}



/*   */
.benefit-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.benefit-card {
    min-height: 410px;
    border-radius: 26px;
    padding: 34px;
    position: relative;
    overflow: hidden;
    transition: transform 0.2s;
}
.benefit-card:hover {
    transform: translateY(-5px);
}
.card-1 {
    background: #e7f3ff;
}
.card-2 {
    background: #e8f6ee;
}
.card-3 {
    background: #fff3d9;
}
.card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.card-top span {
    background: #fff;
    border-radius: 99px;
    padding: 7px 13px;
    font-size: 12px;
    font-weight: 800;
}
.card-top b {
    font-size: 14px;
    color: #8191a2;
}
.benefit-card h3 {
    font-size: 24px;
    margin: 42px 0 0;
}
.benefit-card > strong {
    display: block;
    font-size: 34px;
    letter-spacing: -0.04em;
    margin: 2px 0 12px;
    color: #134c89;
}
.card-2 > strong {
    color: #25734e;
}
.card-3 > strong {
    color: #9a6511;
}
.benefit-card p {
    color: #5a697a;
    font-size: 15px;
    margin: 0;
    max-width: 270px;
}
.benefit-card > a {
    position: absolute;
    left: 34px;
    right: 34px;
    bottom: 28px;
    border-top: 1px solid #bdccda;
    padding-top: 20px;
    display: flex;
    justify-content: space-between;
    font-weight: 700;
    font-size: 14px;
}
.details {
    margin-top: 95px;
    background: #f5f7fa;
    border-radius: 34px;
    padding: 85px 70px;
}
.section-heading.compact {
    text-align: left;
}
.detail-list {
    border-top: 2px solid #263b55;
}
.detail-list article {
    display: grid;
    grid-template-columns: 82px 1fr 54px;
    gap: 25px;
    padding: 40px 0;
    border-bottom: 1px solid #ccd5df;
    align-items: start;
}
.detail-number {
    font-size: 15px;
    color: #8290a0;
    font-weight: 800;
}
.detail-body > span {
    font-size: 12px;
    color: var(--blue);
    font-weight: 800;
}
.detail-body h3 {
    font-size: 26px;
    margin: 4px 0 8px;
}
.detail-body > p {
    color: #637287;
    margin: 0 0 20px;
    max-width: 760px;
    font-size: 15px;
}
.detail-body dl {
    display: flex;
    gap: 12px;
    margin: 0;
}
.detail-body dl div {
    display: flex;
    gap: 16px;
    background: #fff;
    padding: 10px 16px;
    border-radius: 10px;
    font-size: 14px;
}
.detail-body dt {
    color: #7a8797;
}
.detail-body dd {
    margin: 0;
    font-weight: 800;
}
.detail-list button {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid #bbc7d3;
    background: #fff;
    cursor: pointer;
    font-size: 20px;
}
.process-section {
    margin-top: 120px;
    background: #123e72;
    color: #fff;
    border-radius: 34px;
    padding: 80px 65px;
}
.section-heading.light > span {
    color: #96ccff;
}
.section-heading.light h2 {
    color: #fff;
}
.process-section ol {
    list-style: none;
    padding: 0;
    margin: 58px 0 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
}
.process-section li {
    text-align: center;
    position: relative;
}
.process-section li > span {
    display: block;
    font-size: 10px;
    letter-spacing: 0.1em;
    color: #9bb7d3;
}
.process-section li i {
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: #fff;
    color: #174779;
    display: grid;
    place-items: center;
    font-size: 24px;
    font-style: normal;
    font-weight: 900;
    margin: 11px auto 14px;
}
.process-section li strong {
    font-size: 15px;
}
.process-section li b {
    position: absolute;
    right: -9px;
    top: 51px;
    color: #86a8ca;
    font-size: 22px;
}
.bottom-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 120px;
}
.bottom-info > div {
    min-height: 320px;
    border-radius: 28px;
    padding: 45px;
    position: relative;
}
.download {
    background: #eef3f8;
}
.contact {
    background: #e7f5ec;
}
.bottom-info h2 {
    font-size: 32px;
    line-height: 1.3;
    margin: 12px 0;
}
.bottom-info p {
    color: #647387;
    margin: 0;
}
.bottom-info a {
    position: absolute;
    bottom: 38px;
    left: 45px;
    right: 45px;
    border-top: 1px solid #c9d4de;
    padding-top: 20px;
    display: flex;
    justify-content: space-between;
    font-weight: 800;
}
.contact a {
    font-size: 22px;
    color: #176340;
}


/* Keep the collapsed map drawer's handle in the viewport and its content out of focus order. */
@media (min-width: 80em) {
    .location-map-layout.is-detail-collapsed .location-detail-panel {
        transform: translateX(100%);
        visibility: hidden;
        pointer-events: none;
    }
    .location-map-layout.is-detail-collapsed .location-detail-toggle {
        visibility: visible;
        pointer-events: auto;
    }
}

/* Investment and factory-establishment guides share these fluid content patterns. */
.benefit-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }
.benefit-card { min-width: 0; padding: clamp(1.25rem, 2.5vw, 2.125rem); }
.process-section { padding: clamp(1.5rem, 4vw, 5rem) clamp(1rem, 3.5vw, 4.0625rem); }
.process-section ol { grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr)); gap: 1.5rem; }
.process-section li { min-width: 0; }
.selection-step { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); gap: 1rem; }
.selection-step .desc { padding: 1rem; border: 1px solid var(--brd-color); border-radius: .75rem; height: 100%; }
.selection-step dt { margin-bottom: .75rem; color: var(--brand-primary); font-size: 1.5rem; }
.selection-step dd { display: grid; gap: .5rem; }
.bottom-info { grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); }
.bottom-info > div { min-width: 0; padding: clamp(1.25rem, 3vw, 2.8125rem); }
.bottom-info .contact a { overflow-wrap: anywhere; }
@media (max-width: 47.9375em) {
    .benefit-card { min-height: 0; }
    .detail-list article { grid-template-columns: minmax(0, 1fr); gap: .75rem; padding-block: 1.5rem; }
    .detail-body dl, .detail-body dl div { flex-wrap: wrap; }
    .process-section { margin-top: 3rem; }
    .process-section ol { grid-template-columns: minmax(0, 1fr); }
    .process-section li { padding-bottom: 1rem; }
    .process-section li b { position: static; display: block; transform: rotate(90deg); margin-top: .75rem; }
    .bottom-info { margin-top: 3rem; }
}

/* Map pages establish their own containing height, independent of the shell. */
.location-map-wrap {
    height: clamp(58rem, calc(100dvh - 12rem), 70rem);
}
@media (max-width: 79.9375em) {
    .location-map-wrap { height: auto; }
    .location-map-layout { display: flex; flex-direction: column; height: auto; }
    .location-map-main { order: 1; flex: none; height: 28rem; min-height: 0; }
    .location-map { height: 100%; min-height: 0; }
    .location-result-panel {
        order: 2;
        position: relative;
        inset: auto;
        width: auto;
        height: auto;
        max-height: none;
        margin: 1rem;
    }
    .location-filter-content,
    .location-result-list { max-height: none; height: auto; overflow: visible; }
    .location-map-main .map-control { top: 1rem; bottom: auto; right: 1rem; }
    .location-map-layout.is-detail-collapsed .location-detail-panel {
        transform: translateY(calc(100% + 1.5rem));
        visibility: hidden;
        pointer-events: none;
    }
    .location-map-layout:not(.is-detail-collapsed) .location-detail-panel {
        transform: none;
        visibility: visible;
        pointer-events: auto;
    }
}
.login-card .form-control { min-width: 0; }

/* Decorative raster stays within its intrinsic size; layout may grow independently. */
.page-hero-visual img { width: min(100%, 19.9375rem); height: auto; object-fit: contain; }

/*** 중장년 취업지원 ***/

.filter-select-grid.senior {
    gap:28px;
}
.career-support .benefit-card h3 {
    background:#fff;
    border-radius:99px;
    font-size:16px;
    font-weight:800;
    margin:0px 0 24px;
    display:inline-block;
    padding:0.5rem 1rem;
}
.filter-select-grid.senior .benefit-card:nth-of-type(1) {
    background:var(--brand-primary-100) url("../images/content/senior_ico_stanby.png") no-repeat;
}
.filter-select-grid.senior .benefit-card:nth-of-type(2) {
    background:var(--brand-blue-100) url("../images/content/senior_ico_before.png") no-repeat;
}
.filter-select-grid.senior .benefit-card:nth-of-type(3) {
    background:var(--brand-primary-100) url("../images/content/senior_ico_after.png") no-repeat;
}
.filter-select-grid.senior .benefit-card:nth-of-type(n) {
    background-position:95% 75%;
    background-size:40%;
    padding-bottom:6rem;
}
.filter-select-grid.senior.career-support .benefit-card:nth-of-type(1) {
    background:var(--brand-primary-100) url("../images/content/career_support_date.png") no-repeat;
}
.filter-select-grid.senior.career-support .benefit-card:nth-of-type(2) {
    background:var(--brand-green-100) url("../images/content/career_support_program.png") no-repeat;
}
.filter-select-grid.senior.career-support .benefit-card:nth-of-type(3) {
    background:var(--brand-red-100) url("../images/content/career_support_place.png") no-repeat;
}
.filter-select-grid.senior.career-support .benefit-card:nth-of-type(n) {
    background-position:95% 95%;
    background-size:35%;
    padding-bottom:6rem;
    min-height: inherit;
}
/* 공용 콘텐츠 탭·아이콘 카드 / 투자기업 지원 안내 */
.invest-guide { margin-bottom: 40px; }
.invest-guide__intro { margin: -4px 0 28px; color: var(--brand-gray-700); font-size: 18px; }
.content-tabs { display: flex; gap: 8px; padding: 8px; margin-bottom: 36px; border-radius: 16px; background: var(--brand-gray-100); }
.content-tabs button { flex: 1; min-width: 0; padding: 19px 12px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--brand-gray-700); font: inherit; font-size: 19px; font-weight: 600; cursor: pointer; }
.content-tabs button[aria-selected="true"] { background: var(--brand-primary); color: #fff; }
.content-tabs button:hover:not([aria-selected="true"]) { background: #fff; color: var(--brand-primary); }
.content-tabs button:focus-visible, .content-tab-panel:focus-visible { outline: 3px solid var(--brand-primary); outline-offset: 4px; }
.content-tab-panel[hidden] { display: none; }
.invest-guide__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 20px; }
.invest-guide__heading h4 { margin: 0; color: var(--brand-gray-900); font-size: 24px; font-weight: 700; }
.invest-guide__heading > span { color: var(--brand-primary); font-size: 15px; font-weight: 600; }
.content-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; padding: 0; margin: 0; list-style: none; }
.content-card-grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.content-card { position: relative; min-width: 0; min-height: 260px; padding: 30px 28px; border: 1px solid var(--brand-gray-300); border-radius: 24px; background: #fff; }
.content-card__step { display: block; margin-bottom: 30px; color: var(--brand-primary); font-size: 13px; font-weight: 700; letter-spacing: 1px; }
.content-card__icon { display: flex; align-items: center; height: 48px; margin-bottom: 20px; }
.content-card__icon img { display: block; flex: none; transform: scale(2); transform-origin: left center; }
.content-card strong { display: block; color: var(--brand-gray-900); font-size: var(--fz-hd-sm); font-weight: 700; line-height: 1.5; word-break: keep-all; }
.content-card p { margin: 8px 0 0; color: var(--brand-gray-700); font-size: 16px; line-height: 1.5; word-break: keep-all; }
.invest-guide__notice { display: flex; align-items: flex-start; gap: 12px; margin-top: 28px; padding: 22px 24px; border-radius: var(--radius-md); background: var(--brand-primary-100); }
.invest-guide__notice > i { color: var(--brand-primary); font-size: 24px; line-height: 1.4; }
.invest-guide__notice p { margin: 0; }
.invest-guide__notice strong { display: block; margin-bottom: 4px; color: var(--brand-primary); font-size: 17px; }
.invest-guide__notice span { color: var(--brand-gray-800); font-size: 16px; line-height: 1.6; word-break: keep-all; }
@media (max-width: 1000px) {
    .content-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .content-card-grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .content-card { padding: 26px 24px; }
}
@media (max-width: 600px) {
    .invest-guide__intro { font-size: 16px; }
    .content-tabs { gap: 4px; padding: 5px; margin-bottom: 28px; border-radius: 12px; }
    .content-tabs button { padding: 14px 6px; font-size: 15px; line-height: 1.5; word-break: keep-all; }
    .invest-guide__heading h4 { font-size: 21px; }
    .content-card-grid, .content-card-grid--cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .content-card { min-height: 220px; padding: 22px 18px; border-radius: 18px; }
    .content-card__step { margin-bottom: 24px; font-size: 12px; }
    .content-card strong { font-size: 18px; }
    .content-card p { font-size: 14px; }
    .invest-guide__notice { padding: 18px; }
    .invest-guide__notice span { font-size: 14px; }
}
@media (max-width: 360px) {
    .content-card-grid, .content-card-grid--cols-3 { grid-template-columns: 1fr; }
}

/* 공용 순서형 카드: 기본 content-card-grid에 --arrows를 추가해 사용.
   열 수는 --cols-3 / --cols-4, 모바일 순서형은 한 열로 표시합니다. */
.content-card-grid--arrows { gap: 32px; }
.content-card-grid--arrows > .content-card:not(:last-child)::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 50%;
    right: -25px;
    width: 14px;
    height: 14px;
    border-top: 2px solid var(--brand-primary);
    border-right: 2px solid var(--brand-primary);
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
}
@media (min-width: 1001px) {
    .content-card-grid--arrows > .content-card:nth-child(4n)::after,
    .content-card-grid--arrows.content-card-grid--cols-3 > .content-card:nth-child(3n)::after { display: none; }
    .content-card-grid--arrows.content-card-grid--cols-3 > .content-card:nth-child(4n):not(:last-child)::after { display: block; }
}
@media (min-width: 601px) and (max-width: 1000px) {
    .content-card-grid--arrows > .content-card:nth-child(2n)::after { display: none; }
    .content-card-grid--arrows.content-card-grid--cols-3 > .content-card:nth-child(2n):not(:last-child)::after { display: block; }
    .content-card-grid--arrows.content-card-grid--cols-3 > .content-card:nth-child(3n)::after { display: none; }
}
@media (max-width: 600px) {
    .content-card-grid--arrows, .content-card-grid--arrows.content-card-grid--cols-3 { grid-template-columns: 1fr; gap: 32px; }
    .content-card-grid--arrows > .content-card:not(:last-child)::after {
        top: auto;
        bottom: -25px;
        right: auto;
        left: 50%;
        transform: translateX(-50%) rotate(135deg);
    }
}
/* 투자유치 보조금: 설명형 본문과 비교형 카드 */
.subsidy-guide__notice { display: flex; align-items: flex-start; gap: 10px; padding: 18px 22px; margin: 20px 0 28px; border-radius: 14px; background: var(--brand-primary-100); color: var(--brand-primary-800); font-size: var(--fz-body-rg); line-height: 1.7; word-break: keep-all; }
.subsidy-guide__notice i { flex: none; color: var(--brand-primary); font-size: var(--fz-body-lg); line-height: 1.25; }
/* 세로로 반복되는 타이틀 + 콘텐츠 카드 */
.subsidy-guide__details { font-size: var(--fz-body-rg); display: grid; gap: 28px; margin-bottom: 40px; }
.subsidy-detail { display: grid; grid-template-columns: 300px minmax(0, 1fr); align-items: start; gap: 32px; }
.subsidy-detail__title { padding: 22px 0 0; }
.subsidy-guide__details + .cont-tit h4,
.subsidy-guide__details + .h4-title { margin-left:0;}
.subsidy-detail__tag { display: block; margin-bottom: 10px; color: var(--brand-primary); font-size: var(--fz-body-sm); font-weight: 600; line-height: 1.6; word-break: keep-all; }
.subsidy-detail h4 { margin: 0; color: var(--brand-primary-800); font-size: var(--fz-hd-sm); font-weight: 750; line-height: 1.5; word-break: keep-all; }
.subsidy-detail__agency { margin: 12px 0 0; color: var(--brand-gray-700); font-size: var(--fz-body-md); line-height: 1.6; word-break: keep-all; }
.subsidy-detail__content { min-width: 0; padding: 28px 32px; border: 1px solid var(--brand-gray-300); border-radius: 20px; background: #fff; }
.subsidy-detail__benefit { padding-bottom: 20px; border-bottom: 1px solid var(--brand-gray-200); }
.subsidy-detail__amount { display: inline; margin: 0; color: var(--brand-gray-800); font-size: var(--fz-body-rg); line-height: 1.6; word-break: keep-all; }
.subsidy-detail__amount b { color: var(--brand-primary); font-size: var(--fz-hd-md); font-weight: 800; letter-spacing: -0.5px; }
.subsidy-detail__summary { display: block; margin: 6px 0 0; color: var(--brand-gray-700); font-size: var(--fz-body-md); line-height: 1.6; }
@media (max-width: 1000px) {
    .subsidy-detail { grid-template-columns: 200px minmax(0, 1fr); gap: 24px; }
    .subsidy-detail__content { padding: 24px; }
}
@media (max-width: 700px) {
    .subsidy-guide__details { gap: 32px; }
    .subsidy-detail { grid-template-columns: 1fr; gap: 14px; }
    .subsidy-detail__title { padding: 0; }
    .subsidy-detail h4 { font-size: var(--fz-hd-sm); }
    .subsidy-detail__tag { margin-bottom: 6px; }
    .subsidy-detail__agency { margin-top: 6px; }
    .subsidy-detail__content { padding: 22px; border-radius: 16px; }
    .subsidy-detail__amount b { font-size: var(--fz-hd-md); }
}

.subsidy-guide__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 24px; margin-bottom: 32px; }
.content-card.subsidy-card { display: flex; flex-direction: column; min-width: 0; min-height: 0; padding: 28px; }
.subsidy-card__tag { align-self: flex-start; display: inline-block; padding: 6px 12px; border-radius: 30px; background: var(--brand-gray-100); color: var(--brand-primary); font-size: var(--fz-body-md); line-height: 1.5; font-weight: 600; }
.subsidy-card h4 { min-height: 70px; margin: 22px 0 10px; color: var(--brand-gray-900); font-size: var(--fz-hd-sm); line-height: 1.45; font-weight: 750; word-break: keep-all; }
.subsidy-card .subsidy-card__amount { margin: 12px 0 0; color: var(--brand-primary-800); font-size: var(--fz-body-rg); line-height: 1.5; }
.subsidy-card__amount b { display: block; margin-top: 2px; color: var(--brand-primary); font-size: var(--fz-hd-md); line-height: 1.4; letter-spacing: -1px; font-weight: 800; word-break: keep-all; }
.subsidy-card .subsidy-card__summary { margin: 6px 0 0; color: var(--brand-gray-700); font-size: var(--fz-body-md); }
.subsidy-card__schedule { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding-top: 12px; margin-top: auto; }
.subsidy-card__schedule span { padding: 12px 5px; border-radius: 10px;    background: var(--brand-primary-100); color: var(--brand-gray-700); font-size: var(--fz-body-md); text-align: center; }
.subsidy-card__schedule b { display: block; margin-top: 4px; color: var(--brand-primary); font-size: var(--fz-body-lg); }
@media (max-width: 1000px) {
    .subsidy-guide__grid { gap: 16px; }
    .content-card.subsidy-card { padding: 24px; }
    .subsidy-card h4 { font-size: var(--fz-hd-sm); }
}
@media (max-width: 700px) {
    .subsidy-guide__grid { grid-template-columns: 1fr; gap: 18px; }
    .subsidy-card h4 { min-height: 0; font-size: var(--fz-hd-sm); }
    .subsidy-detail--highlight, .subsidy-detail--highlight:first-child { padding: 24px; }
    .subsidy-detail h4 { font-size: var(--fz-hd-sm); }
    .subsidy-detail__summary { display: block; margin: 4px 0 0; }
}


/* 39 페이지의 공용 요소도 동일한 글자 크기 체계를 사용 */
.subsidy-guide { font-size: var(--fz-body-rg); }
.subsidy-guide .basic-tabs [role="tab"] { font-size: var(--fz-body-md); }
.subsidy-guide .tbl-wrap table { font-size: var(--fz-body-rg); }
.subsidy-guide .wrap-rating { font-size: var(--fz-body-md); }
/* Shared procedure cards: one desktop row, including five and six steps. */
.content-card-grid--process .content-card__step { font-size: var(--fz-body-xsm); }
.content-card-grid--process .content-card strong { font-size: var(--fz-body-lg); }
.content-card-grid--process .content-card p { font-size: var(--fz-body-sm); }
@media (min-width: 1001px) {
    .content-card-grid--process.content-card-grid--cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .content-card-grid--process.content-card-grid--cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .content-card-grid--process.content-card-grid--cols-5 > .content-card,
    .content-card-grid--process.content-card-grid--cols-6 > .content-card { padding: var(--space-6) var(--space-4); }
    .content-card-grid--process.content-card-grid--cols-5 > .content-card:not(:last-child)::after,
    .content-card-grid--process.content-card-grid--cols-6 > .content-card:not(:last-child)::after { display: block; }
}
@media (min-width: 601px) and (max-width: 1000px) {
    .content-card-grid--process.content-card-grid--cols-5,
    .content-card-grid--process.content-card-grid--cols-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .content-card-grid--process.content-card-grid--cols-5,
    .content-card-grid--process.content-card-grid--cols-6 { grid-template-columns: minmax(0, 1fr); }
}

/* 입주기업 임차료 지원 (kr/40) */


.rent-support{color:var(--brand-gray-900)}
.rent-support .page-hero-inner{grid-template-columns:minmax(0,1fr) 300px;gap:40px}
.rent-support .page-hero-eyebrow{margin-bottom:18px}
.rent-support .page-hero .tit{font-size:var(--fz-display-sm)}
.rent-support .page-hero-desc{line-height:1.8}
.rent-support .rent-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:20px;background:#fff; border:2px solid var(--brand-primary);margin:32px 0 48px;padding:28px 12px}
.rent-summary>div{text-align:center;padding:0 18px}.rent-summary>div+div{border-left:1px solid var(--brand-primary-200)}
.rent-summary dt{font-size:var(--fz-body-md);color:var(--brand-gray-700);margin-bottom:8px}.rent-summary dd{margin:0;font-size:var(--fz-body-sm);font-weight:600}.rent-summary dd strong{font-size:var(--fz-display-sm);line-height:1.3;letter-spacing:-1px;color:var(--brand-primary)}.rent-summary small{display:block;margin-top:8px;font-size:var(--fz-body-xsm);color:var(--brand-gray-700)}
.rent-support .rent-section{margin-bottom:44px}.rent-heading{display:flex;align-items: flex-start;gap:12px;margin-bottom:20px}
.rent-heading>span{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;background:var(--brand-primary-800);color:var(--brand-gray-0);border-radius:12px;font-size:var(--fz-body-xsm);font-weight:700}.rent-heading h3{margin:0;font-size:var(--fz-hd-sm);font-weight:700;letter-spacing:-1px}.rent-heading p{margin:5px 0 0;color:var(--brand-gray-700);font-size:var(--fz-body-md)}
.rent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.rent-card{min-width:0;border:1px solid var(--brd-color);border-radius:20px;padding:28px;background:var(--brand-gray-0)}.rent-card .rent-icon{display:grid;place-items:center;width:52px;height:52px;background:var(--brand-primary-200);color:var(--brand-primary);border-radius:16px;font-size:var(--fz-hd-md);margin-bottom:18px}.rent-card h4{font-size:var(--fz-body-lg);font-weight:700;margin:0 0 12px}.rent-card p{line-height:1.75;margin:0;color:var(--brand-gray-700)}.rent-card .rent-label{display:inline-block;font-size:var(--fz-body-xsm);font-weight:700;color:var(--brand-primary);margin-bottom:12px}.rent-card .rent-value{font-size:var(--fz-display-sm);line-height:1.3;color:var(--brand-primary);font-weight:800;letter-spacing:-1px;margin:8px 0 12px}.rent-card .rent-value span{font-size:var(--fz-body-sm);font-weight:500}.rent-card.rent-accent{background:var(--brand-primary-100);border-color:var(--brand-primary-200)}.rent-accent .rent-icon{background:var(--brand-primary-200);color:var(--brand-primary)}.rent-accent .rent-value,.rent-accent .rent-label{color:var(--brand-primary)}
.rent-grid + .basic-text-box01 { margin-top:20px;}
.rent-note{display:flex;align-items:flex-start;gap:10px;background:var(--brand-gray-100);border-radius:12px;padding:17px 20px;margin-top:16px;color:var(--brand-gray-700);font-size:var(--fz-body-xsm);line-height:1.8}.rent-note .rent-svg{font-size:var(--fz-body-rg);flex-shrink:0;color:var(--brand-primary)}
.rent-checks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.rent-checks li{border:1px solid var(--brd-color);border-radius:18px;padding:24px;line-height:1.75}.rent-checks .rent-svg{display:block;color:var(--brand-primary);font-size:var(--fz-hd-md);margin-bottom:12px}.rent-checks strong{display:block;font-size:var(--fz-body-md);margin-bottom:6px}.rent-checks p{font-size:var(--fz-body-md);color:var(--brand-gray-700);margin:0}
.rent-period{display:flex;gap:24px;align-items:center;background:var(--brand-primary-100);border-radius:18px;padding:24px;margin-bottom:20px}.rent-period .rent-svg{font-size:var(--fz-display-sm);color:var(--brand-primary)}.rent-period strong{font-size:var(--fz-hd-sm);color:var(--brand-primary)}.rent-period p{margin:4px 0 0;color:var(--brand-gray-700)}
.rent-calendar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:20px 0}.rent-calendar li{position:relative;text-align:center;border:1px solid var(--brd-color);border-radius:16px;padding:20px 12px}.rent-calendar span{display:block;color:var(--brand-gray-700);font-size:var(--fz-body-xsm);margin-bottom:6px}.rent-calendar strong{font-size:var(--fz-hd-lg);color:var(--brand-primary)}.rent-calendar p{margin:6px 0 0;font-size:var(--fz-body-xsm);color:var(--brand-gray-700)}.rent-calendar li+li:before{content:'→';position:absolute;left:-16px;top:45%;background:var(--brand-gray-0);color:var(--brand-primary);width:16px}
.rent-contact{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--brand-primary-100);border:1px solid var(--brand-primary-200);padding:26px 30px;border-radius:18px}.rent-contact h3{font-size:var(--fz-body-md);margin:0 0 7px}.rent-contact p{margin:0;line-height:1.7}.rent-contact a{display:inline-flex;align-items:center;gap:10px;font-size:var(--fz-hd-sm);font-weight:700;white-space:nowrap;color:var(--brand-primary)}.rent-contact a:focus-visible{outline:3px solid var(--brand-primary);outline-offset:6px}
@media(max-width:1024px){.rent-support .page-hero-inner{grid-template-columns:minmax(0,1fr) 220px;gap:20px}.rent-checks{grid-template-columns:1fr}.rent-checks li{padding:22px}.rent-checks .rent-svg{float:left;margin:0 18px 15px 0}}
@media(max-width:640px){.rent-support .page-hero-inner{grid-template-columns:1fr}
    .rent-support .page-hero-visual{display:none}
    .rent-support .rent-summary{padding:20px 4px;margin:24px 0 32px;border-radius:16px}
    .rent-summary>div{padding:0 6px}.rent-summary dt{font-size:var(--fz-body-xsm)}.rent-summary dd{font-size:var(--fz-body-xsm)}.rent-summary dd strong{font-size:var(--fz-hd-sm)}.rent-summary small{font-size:var(--fz-body-xsm)}.rent-grid{grid-template-columns:1fr;gap:14px}.rent-card{padding:24px}.rent-heading h3{font-size:var(--fz-body-lg)}.rent-heading p{font-size:var(--fz-body-xsm)}.rent-period{padding:20px;gap:16px}.rent-period strong{font-size:var(--fz-body-lg)}.rent-calendar{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rent-calendar li+li:before{display:none}.rent-contact{align-items:flex-start;flex-direction:column;padding:24px}.rent-contact a{font-size:var(--fz-hd-sm)}.rent-support .rent-section{margin-bottom:32px}}
/* Original Figma vectors; masks inherit the site primary color token. */
.rent-support .rent-svg{display:inline-block;width:32px;height:32px;flex-shrink:0;background:var(--brand-primary)
;mask:var(--rent-icon-url) center / contain no-repeat;-webkit-mask:var(--rent-icon-url) center / contain no-repeat}
.rent-support .rent-period .rent-svg{width:40px;height:40px}
.rent-svg--buildings{--rent-icon-url:url("../images/content/icn_rent_buildings.svg")}
.rent-svg--people{--rent-icon-url:url("../images/content/icn_rent_people.svg")}
.rent-svg--house{--rent-icon-url:url("../images/content/icn_rent_house.svg")}
.rent-svg--bank{--rent-icon-url:url("../images/content/icn_rent_bank.svg")}
.rent-svg--calendar_tick{--rent-icon-url:url("../images/content/icn_rent_calendar_tick.svg")}
.rent-svg--tick_circle{--rent-icon-url:url("../images/content/icn_rent_tick_circle.svg")}
.rent-svg--info_circle{--rent-icon-url:url("../images/content/icn_rent_info_circle.svg")}
.rent-svg--call{--rent-icon-url:url("../images/content/icn_rent_call.svg")}


/* kr/402: compact neutral criteria accordion; other accordions stay shared. */
.smes-criteria.accordion--details { border-color: var(--brand-gray-300); background: var(--brand-gray-0); }
.smes-criteria.accordion--details > summary.accordion-trigger {
    padding: var(--space-3) var(--space-5);
    background: #fbfbfb;
    color: var(--brand-gray-900);
}
.smes-criteria.accordion--details > summary.accordion-trigger b { color: var(--brand-gray-900); }
.smes-criteria.accordion--details > summary.accordion-trigger:hover { background: var(--brand-gray-100); }
.smes-criteria.accordion--details > .accordion-panel-inner { background: var(--brand-gray-0); }
