@charset "UTF-8";

/* merge-build.js 산출물 — 납품 시 css/sections/*.css 전량이 이 아래로 합쳐진다. 손으로 쓰지 않는다(CLAUDE.md 원칙 14). */
/* merge-build:icon01 */
.icon01 {
    background: #fff;
    padding: calc(var(--px)*45) 0 calc(var(--px)*89);
}
.icon01__eyebrow {
    text-transform: uppercase;
}
.icon01__title {
    margin-top: calc(var(--px)*28);
}
/* 모바일에서는 문의 유형을 줄바꿈 가능한 동일 폭 버튼으로 전환한다. */
.icon01__tabs {
    gap: calc(var(--px)*8);
    margin-top: calc(var(--px)*68);
}
.icon01__tab {
    width: calc(var(--px)*192);
    padding: calc(var(--px)*38.7) 0;
    letter-spacing: inherit; /* 버튼 UA 기본 자간을 부모의 폰트 계약으로 되돌린다. */
    border: 1px solid #eaf1ee;
    border-radius: calc(var(--px)*13);
    background: #fdfdfb;
    cursor: pointer;
    transition: background-color .25s ease-out, border-color .25s ease-out;
    & .icon01__label { transition: color .25s ease-out; }
    &:is(.is-active, :hover, :focus-visible) {
        background: #009e5a;
        border-color: #009e5a;
        & .icon01__label { color: #fff; }
        & .icon01__bump,
        & .icon01__indicator { opacity: 1; }
    }
    &:focus-visible {
        outline: 2px solid #009e5a;
        outline-offset: 4px;
    }
    &:not(.is-active, :hover, :focus-visible) .icon01__label--franchise { color: #111; }
}
.icon01__bump,
.icon01__indicator {
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease-out;
}
.icon01__bump {
    bottom: calc(var(--px)*-23);
}
.icon01__indicator {
    bottom: calc(var(--px)*-21);
    padding: calc(var(--px)*9) calc(var(--px)*7.5);
    border: calc(var(--px)*5) solid #009e5a;
    border-radius: 50%;
    background: #fff;
}

/* IMG:AUTO icon01 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.icon01__bump {
    width: calc(var(--px)*191);
    aspect-ratio: 191 / 26;
}

.icon01__arrow {
    width: calc(var(--px)*18);
    aspect-ratio: 18 / 15;
}
/* /IMG:AUTO icon01 END */

/* FONT:AUTO icon01 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.icon01 {
    text-align: center;
}

.icon01__eyebrow {
    font-family: var(--font-poppins);
    font-size: var(--bodyXL);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 4.97;
    color: #009e5a;
}

.icon01__title {
    font-family: var(--font-nanumsquare-neo);
    font-size: var(--titleL);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1.38;
    color: #101111;
}

.icon01__tabs {
    font-family: var(--font-pretendard);
    font-size: var(--bodyXL);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.2;
}

.icon01__label.icon01__label--franchise {
    color: #ffffff;
}

.icon01__label {
    color: #101111;
}
/* /FONT:AUTO icon01 END */

/* INK:AUTO icon01 */
.icon01__eyebrow { margin-top: calc(var(--px) * -38.23); margin-bottom: calc(var(--px) * -37.22); } /* base 0,0 */
.icon01__title { margin-top: calc(var(--px) * 19.4); margin-bottom: calc(var(--px) * -8.59); } /* base 28,0 */
/* /INK:AUTO icon01 END */

@media (max-width:599px) {
    .icon01 { padding: 10.6667vw 0; }
    .icon01_iner { padding-inline: 4.2667vw; }
    .icon01__eyebrow { line-height: 1.2; margin-top: 0; margin-bottom: 0; }
    .icon01__title { margin-top: 4.2667vw; margin-bottom: 0; }
    .icon01__tabs {
        flex-wrap: wrap;
        column-gap: 2.1333vw;
        row-gap: 8.5333vw;
        margin-top: 10.6667vw;
    }
    .icon01__tab {
        width: 44.6667vw;
        padding: 6.4vw 0;
        border-radius: 2.1333vw;
    }
    .icon01__bump {
        width: 44.434vw;
        bottom: -5.3507vw;
    }
    .icon01__indicator {
        bottom: -4.8854vw;
        padding: 2.0937vw 1.7448vw;
        border-width: 1.1632vw;
    }
    .icon01__arrow { width: 4.1875vw; }
}

/* /merge-build:icon01 */
/* merge-build:icon02 */
.icon02 {
    overflow: hidden;
    & .icon02_iner { padding-block: calc(var(--px)*137) calc(var(--px)*82); }
    & .icon02__heading { gap: calc(var(--px)*25); padding-bottom: calc(var(--px)*8.4); margin-bottom: calc(var(--px)*44.6); }
    & .icon02__panel { width: calc(var(--px)*1240); padding: calc(var(--px)*51) calc(var(--px)*120) calc(var(--px)*62); border-radius: calc(var(--px)*40); background: #fff; }
}



/* FONT:AUTO icon02 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.icon02__heading {
    text-align: center;
}

.icon02__eyebrow {
    font-family: var(--font-poppins);
    font-size: var(--bodyXL);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 4.96;
    color: #009e5a;
}

.icon02__title {
    font-family: var(--font-nanumsquare-neo);
    font-size: var(--titleL);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1.37;
    color: #101111;
}

.icon02__group {
    font-family: var(--font-pretendard);
}

.icon02__legend {
    font-family: var(--font-pretendard);
    font-size: var(--subheadM);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 2.19;
    color: #101111;
}

.icon02__fields {
    font-size: var(--bodyL);
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.9;
    color: #020202;
}

.icon02__label {
    font-family: var(--font-pretendard);
    font-size: var(--bodyL);
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.9;
    color: #020202;
}

.icon02__region-arrow {
    font-family: var(--font-wanted);
    font-size: var(--headM);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: #ffffff;
}

.icon02__field {
    font-family: var(--font-pretendard);
    font-size: var(--bodyL);
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.9;
}

.icon02__unit {
    color: #838a87;
}

.icon02__consent-text {
    font-family: var(--font-pretendard);
    font-size: var(--bodyM);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 2;
    color: #020202;
}

.icon02__submit {
    line-height: 1.2;
}

.icon02__submit-text {
    font-family: var(--font-pretendard);
    font-size: var(--headS);
    font-weight: 700;
    letter-spacing: -0.04em;
    text-align: center;
    color: #ffffff;
}

.icon02__arrow {
    font-family: var(--font-wanted);
    font-size: var(--titleXS);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #009e5a;
}
/* /FONT:AUTO icon02 END */

/* INK:AUTO icon02 */
.icon02__eyebrow { margin-top: calc(var(--px) * -36.14); margin-bottom: calc(var(--px) * -33.13); } /* base 0,0 */
.icon02__legend { margin-top: calc(var(--px) * -14.09); margin-bottom: calc(var(--px) * 5.92); } /* base 0,20 */
.icon02__consent-text { margin-top: calc(var(--px) * -8.5); margin-bottom: calc(var(--px) * -8.5); } /* base 0,0 */
.icon02__title { margin-top: calc(var(--px) * -7.4); margin-bottom: calc(var(--px) * -8.4); } /* base 0,0 */
/* /INK:AUTO icon02 END */


@media (max-width:599px) {
    .icon02 {
        & .icon02_iner { padding-block: 10.6667vw 10.6667vw; }
        & .icon02__heading { gap: 4.2667vw; padding: 0 4.2667vw 1.0667vw; margin-bottom: 6.4vw; }
        & .icon02__eyebrow { margin-top: -8.5665vw; margin-bottom: -7.853vw; }
        & .icon02__title { margin-top: -1.3813vw; margin-bottom: -1.568vw; }
        & .icon02__panel { width: 91.4667vw; padding: 8.5333vw 5.3333vw 10.6667vw; border-radius: 6.4vw; }
        & .icon02__legend { margin-top: -2.5618vw; margin-bottom: 0.64vw; }
        & .icon02__consent-text { margin-top: -1.9833vw; margin-bottom: -1.9833vw; }
    }
}

/* /merge-build:icon02 */
/* merge-build:icon03 */
.icon03 {
    & .icon03_iner { padding-block: calc(var(--px)*127) calc(var(--px)*102); }
    & .icon03__heading { gap: calc(var(--px)*23); padding-bottom: calc(var(--px)*8.4); margin-bottom: calc(var(--px)*45.6); }
    & .icon03__form { width: calc(var(--px)*1240); padding: calc(var(--px)*65) calc(var(--px)*120) calc(var(--px)*49); border-radius: calc(var(--px)*40); background: #fff; }
    & .icon03__group { border: 0; padding: 0; margin: 0; min-width: 0; }
    & .icon03__group--consult { margin-top: calc(var(--px)*51); }
    & .icon03__group--consult .icon03__legend { margin-bottom: calc(var(--px)*4.92); }
    & .icon03__legend { display: flex; position: static; text-indent: 0; overflow: visible; font-size: inherit; line-height: normal; padding: 0 calc(var(--px)*29) calc(var(--px)*14.08); margin-bottom: calc(var(--px)*6.92); }
    & .icon03__legend-text::before { content: ""; display: inline-block; width: calc(var(--px)*15); padding-block: calc(var(--px)*7.5); margin-right: calc(var(--px)*10); border-radius: 50%; background: #009e5a; vertical-align: baseline; }
    & .icon03__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: calc(var(--px)*5) calc(var(--px)*6); }
    & .icon03__field { min-width: 0; padding: calc(var(--px)*6) calc(var(--px)*51); border: 1px solid #bfd1c9; border-radius: calc(var(--px)*13); background: #fdfdfb; gap: calc(var(--px)*16); }
    & .icon03__label { flex-shrink: 0; }
    & .icon03__input { min-height: calc(var(--px)*42); width: 0; min-width: 0; flex: 1 1 0; border: 0; padding: 0; background: transparent; font-family: var(--font-pretendard); font-size: var(--bodyL); color: #020202; line-height: 1.3; }
    & .icon03__field--message { grid-column: 1 / -1; gap: 0; align-items: stretch; padding-block: calc(var(--px)*12.35); }
    & .icon03__textarea { resize: vertical; width: auto; flex: none; min-height: calc(var(--px)*72); }
    & .icon03__privacy { align-self: flex-end; gap: calc(var(--px)*13); padding-block: calc(var(--px)*3); margin-top: calc(var(--px)*22); margin-right: calc(var(--px)*46); }
    & .icon03__privacy-text { text-decoration: underline; text-underline-offset: calc(var(--px)*3); }
    & .icon03__privacy-view { flex-shrink: 0; padding: calc(var(--px)*4) calc(var(--px)*12); border: 1px solid #009e5a; border-radius: 50vw; background: #fff; font: inherit; font-size: var(--bodyS); font-weight: 500; line-height: 1.2; color: #009e5a; cursor: pointer; transition: background-color .2s ease-out, color .2s ease-out; }
    & .icon03__privacy-view:focus-visible { background-color: #009e5a; color: #fff; }
    & .icon03__checkbox { appearance: none; width: calc(var(--px)*26); padding-block: calc(var(--px)*12); margin: 0; border: 1px solid #a5bdb3; border-radius: 50%; background: #fff; cursor: pointer; transition: background-color .2s ease-out, border-color .2s ease-out, box-shadow .2s ease-out; }
    & .icon03__checkbox:checked { background: #009e5a; box-shadow: inset 0 0 0 4px #fff; }
    & .icon03__actions { margin-top: calc(var(--px)*5); }
    & .icon03__submit { width: calc(var(--px)*223); padding: calc(var(--px)*11) calc(var(--px)*25) calc(var(--px)*11) calc(var(--px)*53); border: 1px solid #009e5a; border-radius: calc(var(--px)*33); background: #009e5a; cursor: pointer; }
    & .icon03__submit-circle { width: calc(var(--px)*43); padding-block: calc(var(--px)*12.5); border-radius: 50%; background: #fff; flex-shrink: 0; }
}

@media (hover: hover) {
    .icon03 {
        & .icon03__privacy-view:hover { background-color: #009e5a; color: #fff; }
    }
}


/* IMG:AUTO icon03 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.icon03__submit-arrow {
    width: calc(var(--px)*21);
    aspect-ratio: 21 / 18;
}
/* /IMG:AUTO icon03 END */

/* FONT:AUTO icon03 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.icon03__heading {
    text-align: center;
}

.icon03__eyebrow {
    font-family: var(--font-poppins);
    font-size: var(--bodyXL);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 4.96;
    color: #009e5a;
}

.icon03__title {
    font-family: var(--font-nanumsquare-neo);
    font-size: var(--titleL);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1.37;
    color: #101111;
}

.icon03__form {
    font-family: var(--font-pretendard);
}

.icon03__legend-text {
    font-size: var(--subheadM);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 2.19;
    color: #101111;
}

.icon03__grid,
.icon03__label {
    font-size: var(--bodyL);
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.9;
    color: #020202;
}

.icon03__privacy-text {
    font-size: var(--bodyM);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 2;
    color: #020202;
}

.icon03__submit-text {
    font-size: var(--headS);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.2;
    text-align: center;
    color: #ffffff;
}
/* /FONT:AUTO icon03 END */

/* INK:AUTO icon03 */
.icon03__eyebrow { margin-top: calc(var(--px) * -36.14); margin-bottom: calc(var(--px) * -33.13); } /* base 0,0 */
.icon03__legend-text { margin-top: calc(var(--px) * -14.09); margin-bottom: calc(var(--px) * -14.08); } /* base 0,0 */
.icon03__privacy-text { margin-top: calc(var(--px) * -8.5); margin-bottom: calc(var(--px) * -8.5); } /* base 0,0 */
.icon03__title { margin-top: calc(var(--px) * -8.4); margin-bottom: calc(var(--px) * -8.4); } /* base 0,0 */
/* /INK:AUTO icon03 END */


@media (max-width:599px) {
    .icon03 {
        & .icon03_iner { padding-block: 10.6667vw 10.6667vw; }
        & .icon03__heading { gap: 4.2667vw; padding: 0 4.2667vw 1.0667vw; margin-bottom: 6.4vw; }
        & .icon03__eyebrow { margin-top: -8.5665vw; margin-bottom: -7.853vw; }
        & .icon03__title { margin-top: -1.568vw; margin-bottom: -1.568vw; }
        & .icon03__form { width: 91.4667vw; padding: 8.5333vw 5.3333vw 10.6667vw; border-radius: 6.4vw; }
        & .icon03__group--consult { margin-top: 6.4vw; }
        & .icon03__legend, & .icon03__group--consult .icon03__legend { padding: 0 4.2667vw 2.1333vw; margin-bottom: 1.0667vw; }
        & .icon03__legend-text { margin-top: -2.5618vw; margin-bottom: -2.5618vw; }
        & .icon03__legend-text::before { width: 2.1333vw; padding-block: 1.0667vw; margin-right: 1.6vw; }
        & .icon03__grid { grid-template-columns: minmax(0,1fr); gap: 2.1333vw; }
        & .icon03__field { padding: 1.0667vw 4.2667vw; border-radius: 2.1333vw; gap: 3.2vw; }
        & .icon03__input { min-height: 10.6667vw; }
        & .icon03__field--message { gap: 0; padding-block: 2.1333vw; }
        & .icon03__textarea { min-height: 21.3333vw; }
        & .icon03__privacy { align-self: center; gap: 2.1333vw; padding-block: 0.5333vw; margin-top: 3.2vw; margin-right: 0; }
        & .icon03__privacy-text { margin-top: -1.9833vw; margin-bottom: -1.9833vw; text-underline-offset: 0.5333vw; }
        & .icon03__checkbox { width: 5.3333vw; padding-block: 2.4vw; }
        & .icon03__privacy-view { padding: 1.0667vw 3.2vw; }
        & .icon03__actions { margin-top: 4.2667vw; }
        & .icon03__submit { width: auto; padding: 1.6vw 1.6vw 1.6vw 6.4vw; gap: 4.2667vw; border: 1px solid #009e5a; border-radius: 50vw; }
        & .icon03__submit-circle { width: 8.5333vw; height: 8.5333vw; /* HEIGHT: 원형 도형 지름 고정 */ padding-block: 0; }
        & .icon03__submit-arrow { width: 3.2vw; }
    }
}

/* /merge-build:icon03 */
/* merge-build:icon04 */
.icon04 {
    & .icon04_iner { padding-block: calc(var(--px)*127) calc(var(--px)*95); }
    & .icon04__heading { gap: calc(var(--px)*23); padding-bottom: calc(var(--px)*8.4); margin-bottom: calc(var(--px)*40.58); }
    & .icon04__form { width: calc(var(--px)*1240); padding: calc(var(--px)*65) calc(var(--px)*120) calc(var(--px)*54.02); border-radius: calc(var(--px)*40); background: #fff; }
    & .icon04__group { border: 0; padding: 0; margin: 0; min-width: 0; }
    & .icon04__group--consult { margin-top: calc(var(--px)*51); }
    & .icon04__group--consult .icon04__legend { margin-bottom: calc(var(--px)*4.92); }
    & .icon04__legend { display: flex; position: static; text-indent: 0; overflow: visible; font-size: inherit; line-height: normal; padding: 0 calc(var(--px)*29) calc(var(--px)*14.08); margin-bottom: calc(var(--px)*6.92); }
    & .icon04__legend-text::before { content: ""; display: inline-block; width: calc(var(--px)*15); padding-block: calc(var(--px)*7.5); margin-right: calc(var(--px)*10); border-radius: 50%; background: #009e5a; vertical-align: baseline; }
    & .icon04__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: calc(var(--px)*5) calc(var(--px)*6); }
    & .icon04__field { min-width: 0; padding: calc(var(--px)*6) calc(var(--px)*51); border: 1px solid #bfd1c9; border-radius: calc(var(--px)*13); background: #fdfdfb; gap: calc(var(--px)*16); }
    & .icon04__field--wide { grid-column: 1 / -1; }
    & .icon04__label { flex-shrink: 0; }
    & .icon04__input { min-height: calc(var(--px)*42); width: 0; min-width: 0; flex: 1 1 0; border: 0; padding: 0; background: transparent; font-family: var(--font-pretendard); font-size: var(--bodyL); color: #020202; line-height: 1.3; }
    & .icon04__field--message { grid-column: 1 / -1; gap: 0; align-items: stretch; padding-block: calc(var(--px)*12.35); }
    & .icon04__textarea { resize: vertical; width: auto; flex: none; min-height: calc(var(--px)*72); }
    & .icon04__privacy { align-self: flex-end; gap: calc(var(--px)*13); padding-block: calc(var(--px)*3); margin-top: calc(var(--px)*22); margin-right: calc(var(--px)*46); }
    & .icon04__privacy-text { text-decoration: underline; text-underline-offset: calc(var(--px)*3); }
    & .icon04__privacy-view { flex-shrink: 0; padding: calc(var(--px)*4) calc(var(--px)*12); border: 1px solid #009e5a; border-radius: 50vw; background: #fff; font: inherit; font-size: var(--bodyS); font-weight: 500; line-height: 1.2; color: #009e5a; cursor: pointer; transition: background-color .2s ease-out, color .2s ease-out; }
    & .icon04__privacy-view:focus-visible { background-color: #009e5a; color: #fff; }
    & .icon04__checkbox { appearance: none; width: calc(var(--px)*26); padding-block: calc(var(--px)*12); margin: 0; border: 1px solid #a5bdb3; border-radius: 50%; background: #fff; cursor: pointer; transition: background-color .2s ease-out, border-color .2s ease-out, box-shadow .2s ease-out; }
    & .icon04__checkbox:checked { background: #009e5a; box-shadow: inset 0 0 0 4px #fff; }
    & .icon04__actions { margin-top: calc(var(--px)*5); }
    & .icon04__submit { width: calc(var(--px)*223); padding: calc(var(--px)*11) calc(var(--px)*25) calc(var(--px)*11) calc(var(--px)*53); border: 1px solid #009e5a; border-radius: calc(var(--px)*33); background: #009e5a; cursor: pointer; }
    & .icon04__submit-circle { width: calc(var(--px)*43); padding-block: calc(var(--px)*12.5); border-radius: 50%; background: #fff; flex-shrink: 0; }
}

@media (hover: hover) {
    .icon04 {
        & .icon04__privacy-view:hover { background-color: #009e5a; color: #fff; }
    }
}

/* IMG:AUTO icon04 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.icon04__submit-arrow {
    width: calc(var(--px)*21);
    aspect-ratio: 21 / 18;
}
/* /IMG:AUTO icon04 END */

/* FONT:AUTO icon04 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.icon04__heading {
    text-align: center;
}

.icon04__eyebrow {
    font-family: var(--font-poppins);
    font-size: var(--bodyXL);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 4.96;
    color: #009e5a;
}

.icon04__title {
    font-family: var(--font-nanumsquare-neo);
    font-size: var(--titleL);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1.37;
    color: #101111;
}

.icon04__form {
    font-family: var(--font-pretendard);
}

.icon04__legend-text {
    font-size: var(--subheadM);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 2.19;
    color: #101111;
}

.icon04__grid {
    font-size: var(--bodyL);
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.9;
    color: #020202;
}

.icon04__privacy-text {
    font-size: var(--bodyM);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 2;
    color: #020202;
}

.icon04__submit-text {
    font-size: var(--headS);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.2;
    text-align: center;
    color: #ffffff;
}
/* /FONT:AUTO icon04 END */

/* INK:AUTO icon04 */
.icon04__eyebrow { margin-top: calc(var(--px) * -36.14); margin-bottom: calc(var(--px) * -33.13); } /* base 0,0 */
.icon04__legend-text { margin-top: calc(var(--px) * -14.09); margin-bottom: calc(var(--px) * -14.08); } /* base 0,0 */
.icon04__privacy-text { margin-top: calc(var(--px) * -8.5); margin-bottom: calc(var(--px) * -8.5); } /* base 0,0 */
.icon04__title { margin-top: calc(var(--px) * -6.4); margin-bottom: calc(var(--px) * -5.4); } /* base 0,0 */
/* /INK:AUTO icon04 END */

@media (max-width:599px) {
    .icon04 {
        & .icon04_iner { padding-block: 10.6667vw 10.6667vw; }
        & .icon04__heading { gap: 4.2667vw; padding: 0 4.2667vw 1.0667vw; margin-bottom: 6.4vw; }
        & .icon04__eyebrow { margin-top: -8.5665vw; margin-bottom: -7.853vw; }
        & .icon04__title { margin-top: -1.1946vw; margin-bottom: -1.008vw; }
        & .icon04__form { width: 91.4667vw; padding: 8.5333vw 5.3333vw 10.6667vw; border-radius: 6.4vw; }
        & .icon04__group--consult { margin-top: 6.4vw; }
        & .icon04__legend { padding: 0 4.2667vw 2.1333vw; margin-bottom: 1.0667vw; }
        & .icon04__group--consult .icon04__legend { margin-bottom: 1.0667vw; }
        & .icon04__legend-text { margin-top: -2.5618vw; margin-bottom: -2.56vw; }
        & .icon04__legend-text::before { width: 2.1333vw; padding-block: 1.0667vw; margin-right: 1.6vw; }
        & .icon04__grid { grid-template-columns: minmax(0,1fr); gap: 2.1333vw; }
        & .icon04__field { padding: 1.0667vw 4.2667vw; border-radius: 2.1333vw; gap: 3.2vw; }
        & .icon04__input { min-height: 10.6667vw; }
        & .icon04__field--message { gap: 0; padding-block: 2.1333vw; }
        & .icon04__textarea { min-height: 21.3333vw; }
        & .icon04__privacy { align-self: center; gap: 2.1333vw; padding-block: 0.5333vw; margin-top: 3.2vw; margin-right: 0; }
        & .icon04__privacy-text { text-underline-offset: 0.5333vw; margin-top: -1.9833vw; margin-bottom: -1.9833vw; }
        & .icon04__checkbox { flex-shrink: 0; width: 5.3333vw; height: 5.3333vw; /* HEIGHT: 원형 체크 지름 고정 */ padding-block: 0; }
        & .icon04__privacy-view { padding: 1.0667vw 3.2vw; }
        & .icon04__actions { margin-top: 4.2667vw; }
        & .icon04__submit { width: auto; padding: 1.6vw 1.6vw 1.6vw 6.4vw; gap: 4.2667vw; border: 1px solid #009e5a; border-radius: 50vw; }
        & .icon04__submit-circle { width: 8.5333vw; height: 8.5333vw; /* HEIGHT: 원형 도형 지름 고정 */ padding-block: 0; }
        & .icon04__submit-arrow { width: 3.2vw; }
    }
}

/* /merge-build:icon04 */
/* merge-build:icon05 */
.icon05 {
    & .icon05_iner { padding-block: calc(var(--px)*127) calc(var(--px)*25); }
    & .icon05__heading { gap: calc(var(--px)*23); padding-bottom: calc(var(--px)*8.4); margin-bottom: calc(var(--px)*44.58); }
    & .icon05__form { width: calc(var(--px)*1240); padding: calc(var(--px)*66) calc(var(--px)*120) calc(var(--px)*43.02); border-radius: calc(var(--px)*40); background: #fff; }
    & .icon05__group { border: 0; padding: 0; margin: 0; min-width: 0; }
    & .icon05__group--consult { margin-top: calc(var(--px)*50); }
    & .icon05__group--consult .icon05__legend { margin-bottom: calc(var(--px)*4.92); }
    & .icon05__legend { display: flex; position: static; text-indent: 0; overflow: visible; font-size: inherit; line-height: normal; padding: 0 calc(var(--px)*29) calc(var(--px)*14.08); margin-bottom: calc(var(--px)*5.92); }
    & .icon05__legend-text::before { content: ""; display: inline-block; width: calc(var(--px)*15); padding-block: calc(var(--px)*7.5); margin-right: calc(var(--px)*10); border-radius: 50%; background: #009e5a; vertical-align: baseline; }
    & .icon05__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: calc(var(--px)*5) calc(var(--px)*6); }
    & .icon05__field { min-width: 0; padding: calc(var(--px)*6) calc(var(--px)*51); border: 1px solid #bfd1c9; border-radius: calc(var(--px)*13); background: #fdfdfb; gap: calc(var(--px)*16); }
    & .icon05__field--wide { grid-column: 1 / -1; padding-block: calc(var(--px)*7); }
    & .icon05__group--consult .icon05__grid { row-gap: calc(var(--px)*4); }
    & .icon05__label { flex-shrink: 0; }
    & .icon05__input { min-height: calc(var(--px)*42); width: 0; min-width: 0; flex: 1 1 0; border: 0; padding: 0; background: transparent; font-family: var(--font-pretendard); font-size: var(--bodyL); color: #020202; line-height: 1.3; }
    & .icon05__field--message { grid-column: 1 / -1; gap: 0; align-items: stretch; padding-block: calc(var(--px)*12.85); }
    & .icon05__textarea { resize: vertical; width: auto; flex: none; min-height: calc(var(--px)*72); }
    & .icon05__privacy { align-self: flex-end; gap: calc(var(--px)*13); padding-block: calc(var(--px)*3); margin-top: calc(var(--px)*21); margin-right: calc(var(--px)*46); }
    & .icon05__privacy-text { text-decoration: underline; text-underline-offset: calc(var(--px)*3); }
    & .icon05__privacy-view { flex-shrink: 0; padding: calc(var(--px)*4) calc(var(--px)*12); border: 1px solid #009e5a; border-radius: 50vw; background: #fff; font: inherit; font-size: var(--bodyS); font-weight: 500; line-height: 1.2; color: #009e5a; cursor: pointer; transition: background-color .2s ease-out, color .2s ease-out; }
    & .icon05__privacy-view:focus-visible { background-color: #009e5a; color: #fff; }
    & .icon05__checkbox { appearance: none; width: calc(var(--px)*26); padding-block: calc(var(--px)*12); margin: 0; border: 1px solid #a5bdb3; border-radius: 50%; background: #fff; cursor: pointer; transition: background-color .2s ease-out, border-color .2s ease-out, box-shadow .2s ease-out; }
    & .icon05__checkbox:checked { background: #009e5a; box-shadow: inset 0 0 0 4px #fff; }
    & .icon05__actions { margin-top: calc(var(--px)*5); padding-left: calc(var(--px)*4); }
    & .icon05__submit { width: calc(var(--px)*223); padding: calc(var(--px)*11) calc(var(--px)*25) calc(var(--px)*12) calc(var(--px)*53); border: 1px solid #009e5a; border-radius: calc(var(--px)*33); background: #009e5a; cursor: pointer; }
    & .icon05__submit-circle { width: calc(var(--px)*43); padding-block: calc(var(--px)*12.5); border-radius: 50%; background: #fff; flex-shrink: 0; }

    @media (hover: hover) {
        & .icon05__privacy-view:hover { background-color: #009e5a; color: #fff; }
    }

}

/* 브랜드 카피 = 탭 패널이 아니라 페이지 하단 장식이라 .icon05 밖에서 산다(탭 전환에도 계속 보인다). */
.icon05__brand { align-self: stretch; gap: calc(var(--px)*43); margin-top: calc(var(--px)*124); padding-inline: calc(var(--px)*96); }
.icon05__brand-copy { flex-shrink: 0; }
.icon05__brand-line { flex: 1 1 0; border-top: 1px solid rgb(0 158 90 / 20%); }

/* IMG:AUTO icon05 */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.icon05__submit-arrow {
    width: calc(var(--px)*21);
    aspect-ratio: 21 / 18;
}
/* /IMG:AUTO icon05 END */

/* FONT:AUTO icon05 */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.icon05__heading {
    text-align: center;
}

.icon05__eyebrow {
    font-family: var(--font-poppins);
    font-size: var(--bodyXL);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 4.96;
    color: #009e5a;
}

.icon05__title {
    font-family: var(--font-nanumsquare-neo);
    font-size: var(--titleL);
    font-weight: 900;
    letter-spacing: -0.0534em; /* OVR */
    line-height: 1.37;
    color: #101111;
}

.icon05__form {
    font-family: var(--font-pretendard);
}

.icon05__legend-text {
    font-size: var(--subheadM);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 2.19;
    color: #101111;
}

.icon05__grid {
    font-size: var(--bodyL);
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.9;
    color: #020202;
}

.icon05__privacy-text {
    font-size: var(--bodyM);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 2;
    color: #020202;
}

.icon05__submit-text {
    font-size: var(--headS);
    font-weight: 700;
    letter-spacing: -0.0787em; /* OVR */
    line-height: 1.2;
    text-align: center;
    color: #ffffff;
}

.icon05__brand {
    font-family: var(--font-poppins);
    font-size: var(--subheadL);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2;
    text-align: center;
    color: #009e5a;
}
/* /FONT:AUTO icon05 END */

/* INK:AUTO icon05 */
.icon05__eyebrow { margin-top: calc(var(--px) * -36.14); margin-bottom: calc(var(--px) * -33.13); } /* base 0,0 */
.icon05__legend-text { margin-top: calc(var(--px) * -14.09); margin-bottom: calc(var(--px) * -14.08); } /* base 0,0 */
.icon05__privacy-text { margin-top: calc(var(--px) * -8.5); margin-bottom: calc(var(--px) * -8.5); } /* base 0,0 */
.icon05__title { margin-top: calc(var(--px) * -8.4); margin-bottom: calc(var(--px) * -8.4); } /* base 0,0 */
.icon05__brand-copy.icon05__brand-copy--left { margin-top: calc(var(--px) * -4.9); margin-bottom: calc(var(--px) * 1.1); } /* base 0,0 */
.icon05__brand-copy.icon05__brand-copy--right { margin-top: calc(var(--px) * -2.9); margin-bottom: calc(var(--px) * 1.1); } /* base 0,0 */
/* /INK:AUTO icon05 END */

@media (max-width:599px) {
    .icon05 {
        & .icon05_iner { padding-block: 10.6667vw 16vw; }
        & .icon05__heading { gap: 4.2667vw; padding: 0 4.2667vw 1.0667vw; margin-bottom: 6.4vw; }
        & .icon05__eyebrow { margin-top: -8.5666vw; margin-bottom: -7.8531vw; }
        & .icon05__title { margin-top: -1.568vw; margin-bottom: -1.568vw; }
        & .icon05__form { width: 91.4667vw; padding: 8.5333vw 5.3333vw 10.6667vw; border-radius: 6.4vw; }
        & .icon05__group--consult { margin-top: 6.4vw; }
        & .icon05__legend { padding: 0 4.2667vw 2.1333vw; margin-bottom: 1.0667vw; }
        & .icon05__group--consult .icon05__legend { margin-bottom: 1.0667vw; }
        & .icon05__legend-text { margin-top: -2.5618vw; margin-bottom: -2.56vw; }
        & .icon05__legend-text::before { width: 2.1333vw; padding-block: 1.0667vw; margin-right: 1.6vw; }
        & .icon05__grid { grid-template-columns: minmax(0,1fr); gap: 2.1333vw; }
        & .icon05__group--consult .icon05__grid { row-gap: 2.1333vw; }
        & .icon05__field { padding: 1.0667vw 4.2667vw; border-radius: 2.1333vw; gap: 3.2vw; }
        & .icon05__field--wide { padding-block: 1.0667vw; }
        & .icon05__input { min-height: 10.6667vw; }
        & .icon05__field--message { padding-block: 2.1333vw; }
        & .icon05__textarea { min-height: 21.3333vw; }
        & .icon05__privacy { align-self: center; gap: 2.1333vw; padding-block: 0.5333vw; margin-top: 3.2vw; margin-right: 0; }
        & .icon05__privacy-text { text-underline-offset: 0.5333vw; margin-top: -1.9833vw; margin-bottom: -1.9833vw; }
        & .icon05__checkbox { flex-shrink: 0; width: 5.3333vw; height: 5.3333vw; /* HEIGHT: 원형 체크 지름 고정 */ padding-block: 0; }
        & .icon05__privacy-view { padding: 1.0667vw 3.2vw; }
        & .icon05__actions { margin-top: 4.2667vw; padding-left: 0; }
        & .icon05__submit { width: auto; padding: 1.6vw 1.6vw 1.6vw 6.4vw; gap: 4.2667vw; border: 1px solid #009e5a; border-radius: 50vw; }
        & .icon05__submit-circle { width: 8.5333vw; height: 8.5333vw; /* HEIGHT: 원형 도형 지름 고정 */ padding-block: 0; }
        & .icon05__submit-arrow { width: 3.2vw; }
    }

    .icon05__brand { flex-direction: column; align-items: center; gap: 3.2vw; margin-top: 12.8vw; padding-inline: 0; }
    .icon05__brand-copy.icon05__brand-copy--left { margin-top: -0.8711vw; margin-bottom: 0.1956vw; }
    .icon05__brand-copy.icon05__brand-copy--right { margin-top: -0.5156vw; margin-bottom: 0.1956vw; }
    .icon05__brand-line { flex: none; width: 12.8vw; }
}

/* /merge-build:icon05 */
/* merge-build:icon06 */
/* 케이터링 문의 — 시안 주석 「"케이터링 문의"와 내용 동일」에 따라 icon05(기타 문의) 양식을 그대로 쓴다. */
.icon06 {
    & .icon06_iner { padding-block: calc(var(--px)*127) calc(var(--px)*25); }
    & .icon06__heading { gap: calc(var(--px)*23); padding-bottom: calc(var(--px)*8.4); margin-bottom: calc(var(--px)*44.58); }
    & .icon06__form { width: calc(var(--px)*1240); padding: calc(var(--px)*66) calc(var(--px)*120) calc(var(--px)*43.02); border-radius: calc(var(--px)*40); background: #fff; }
    & .icon06__group { border: 0; padding: 0; margin: 0; min-width: 0; }
    & .icon06__group--consult { margin-top: calc(var(--px)*50); }
    & .icon06__group--consult .icon06__legend { margin-bottom: calc(var(--px)*4.92); }
    & .icon06__legend { display: flex; position: static; text-indent: 0; overflow: visible; font-size: inherit; line-height: normal; padding: 0 calc(var(--px)*29) calc(var(--px)*14.08); margin-bottom: calc(var(--px)*5.92); }
    & .icon06__legend-text::before { content: ""; display: inline-block; width: calc(var(--px)*15); padding-block: calc(var(--px)*7.5); margin-right: calc(var(--px)*10); border-radius: 50%; background: #009e5a; vertical-align: baseline; }
    & .icon06__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: calc(var(--px)*5) calc(var(--px)*6); }
    & .icon06__field { min-width: 0; padding: calc(var(--px)*6) calc(var(--px)*51); border: 1px solid #bfd1c9; border-radius: calc(var(--px)*13); background: #fdfdfb; gap: calc(var(--px)*16); }
    & .icon06__field--wide { grid-column: 1 / -1; padding-block: calc(var(--px)*7); }
    & .icon06__group--consult .icon06__grid { row-gap: calc(var(--px)*4); }
    & .icon06__label { flex-shrink: 0; }
    & .icon06__input { min-height: calc(var(--px)*42); width: 0; min-width: 0; flex: 1 1 0; border: 0; padding: 0; background: transparent; font-family: var(--font-pretendard); font-size: var(--bodyL); color: #020202; line-height: 1.3; }
    /* number 는 UA 위젯 폭이 내용에 묶여 flex:1 1 0 로 눌리면 값이 잘린다. */
    & .icon06__input[type="number"] { width: auto; flex: 0 1 auto; }
    & .icon06__field--message { grid-column: 1 / -1; gap: 0; align-items: stretch; padding-block: calc(var(--px)*12.85); }
    & .icon06__textarea { resize: vertical; width: auto; flex: none; min-height: calc(var(--px)*72); }
    & .icon06__privacy { align-self: flex-end; gap: calc(var(--px)*13); padding-block: calc(var(--px)*3); margin-top: calc(var(--px)*21); margin-right: calc(var(--px)*46); }
    & .icon06__privacy-text { text-decoration: underline; text-underline-offset: calc(var(--px)*3); }
    & .icon06__privacy-view { flex-shrink: 0; padding: calc(var(--px)*4) calc(var(--px)*12); border: 1px solid #009e5a; border-radius: 50vw; background: #fff; font: inherit; font-size: var(--bodyS); font-weight: 500; line-height: 1.2; color: #009e5a; cursor: pointer; transition: background-color .2s ease-out, color .2s ease-out; }
    & .icon06__privacy-view:focus-visible { background-color: #009e5a; color: #fff; }
    & .icon06__checkbox { appearance: none; width: calc(var(--px)*26); padding-block: calc(var(--px)*12); margin: 0; border: 1px solid #a5bdb3; border-radius: 50%; background: #fff; cursor: pointer; transition: background-color .2s ease-out, border-color .2s ease-out, box-shadow .2s ease-out; }
    & .icon06__checkbox:checked { background: #009e5a; box-shadow: inset 0 0 0 4px #fff; }
    & .icon06__actions { margin-top: calc(var(--px)*5); padding-left: calc(var(--px)*4); }
    & .icon06__submit { width: calc(var(--px)*223); padding: calc(var(--px)*11) calc(var(--px)*25) calc(var(--px)*12) calc(var(--px)*53); border: 1px solid #009e5a; border-radius: calc(var(--px)*33); background: #009e5a; cursor: pointer; }
    & .icon06__submit-circle { width: calc(var(--px)*43); padding-block: calc(var(--px)*12.5); border-radius: 50%; background: #fff; flex-shrink: 0; }

    @media (hover: hover) {
        & .icon06__privacy-view:hover { background-color: #009e5a; color: #fff; }
    }
}

.icon06__submit-arrow {
    width: calc(var(--px)*21);
    aspect-ratio: 21 / 18;
}

.icon06__heading {
    text-align: center;
}

.icon06__eyebrow {
    font-family: var(--font-poppins);
    font-size: var(--bodyXL);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 4.96;
    color: #009e5a;
    margin-top: calc(var(--px) * -36.14);
    margin-bottom: calc(var(--px) * -33.13);
}

.icon06__title {
    font-family: var(--font-nanumsquare-neo);
    font-size: var(--titleL);
    font-weight: 900;
    letter-spacing: -0.0534em;
    line-height: 1.37;
    color: #101111;
    margin-top: calc(var(--px) * -8.4);
    margin-bottom: calc(var(--px) * -8.4);
}

.icon06__form {
    font-family: var(--font-pretendard);
}

.icon06__legend-text {
    font-size: var(--subheadM);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 2.19;
    color: #101111;
    margin-top: calc(var(--px) * -14.09);
    margin-bottom: calc(var(--px) * -14.08);
}

.icon06__grid {
    font-size: var(--bodyL);
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.9;
    color: #020202;
}

.icon06__privacy-text {
    font-size: var(--bodyM);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 2;
    color: #020202;
    margin-top: calc(var(--px) * -8.5);
    margin-bottom: calc(var(--px) * -8.5);
}

.icon06__submit-text {
    font-size: var(--headS);
    font-weight: 700;
    letter-spacing: -0.0787em;
    line-height: 1.2;
    text-align: center;
    color: #ffffff;
}


@media (max-width:599px) {
    .icon06 {
        & .icon06_iner { padding-block: 10.6667vw 16vw; }
        & .icon06__heading { gap: 4.2667vw; padding: 0 4.2667vw 1.0667vw; margin-bottom: 6.4vw; }
        & .icon06__eyebrow { margin-top: -8.5666vw; margin-bottom: -7.8531vw; }
        & .icon06__title { margin-top: -1.568vw; margin-bottom: -1.568vw; }
        & .icon06__form { width: 91.4667vw; padding: 8.5333vw 5.3333vw 10.6667vw; border-radius: 6.4vw; }
        & .icon06__group--consult { margin-top: 6.4vw; }
        & .icon06__legend { padding: 0 4.2667vw 2.1333vw; margin-bottom: 1.0667vw; }
        & .icon06__group--consult .icon06__legend { margin-bottom: 1.0667vw; }
        & .icon06__legend-text { margin-top: -2.5618vw; margin-bottom: -2.56vw; }
        & .icon06__legend-text::before { width: 2.1333vw; padding-block: 1.0667vw; margin-right: 1.6vw; }
        & .icon06__grid { grid-template-columns: minmax(0,1fr); gap: 2.1333vw; }
        & .icon06__group--consult .icon06__grid { row-gap: 2.1333vw; }
        & .icon06__field { padding: 1.0667vw 4.2667vw; border-radius: 2.1333vw; gap: 3.2vw; }
        & .icon06__field--wide { padding-block: 1.0667vw; }
        & .icon06__input { min-height: 10.6667vw; }
        & .icon06__field--message { padding-block: 2.1333vw; }
        & .icon06__textarea { min-height: 21.3333vw; }
        & .icon06__privacy { align-self: center; gap: 2.1333vw; padding-block: 0.5333vw; margin-top: 3.2vw; margin-right: 0; }
        & .icon06__privacy-text { text-underline-offset: 0.5333vw; margin-top: -1.9833vw; margin-bottom: -1.9833vw; }
        & .icon06__checkbox { flex-shrink: 0; width: 5.3333vw; height: 5.3333vw; /* HEIGHT: 원형 체크 지름 고정 */ padding-block: 0; }
        & .icon06__privacy-view { padding: 1.0667vw 3.2vw; }
        & .icon06__actions { margin-top: 4.2667vw; padding-left: 0; }
        & .icon06__submit { width: auto; padding: 1.6vw 1.6vw 1.6vw 6.4vw; gap: 4.2667vw; border: 1px solid #009e5a; border-radius: 50vw; }
        & .icon06__submit-circle { width: 8.5333vw; height: 8.5333vw; /* HEIGHT: 원형 도형 지름 고정 */ padding-block: 0; }
        & .icon06__submit-arrow { width: 3.2vw; }
    }
}

/* /merge-build:icon06 */
/* merge-build:sub-hero */
/* sub-hero — 모바일: head 는 column 그대로 가운데 정렬, 엠블럼은 하단 중앙 유지 */
.sub-hero {
  z-index: 2; /* 빼면 visual-verify 렌더가 백지로 나옴(실측) — 걷지 말 것 */
  overflow: visible;
  padding-bottom: calc(var(--px)*63); /* 그린 면 아래로 내려오는 엠블럼 범프를 섹션 안에 포함 */
}

.sub-hero_iner {
  background-color: #009e5a;
}

.sub-hero__head {
  width: calc(var(--px)*1241);
  padding-top: calc(var(--px)*223);
  padding-bottom: calc(var(--px)*114);
  gap: calc(var(--px)*2);
}

.sub-hero__emblem {
  inset-inline: 0;
  bottom: calc(var(--px)*-8); /* 자산 날개 흰띠 7.75px — 섹션 하단과 맞물림 */
}

.sub-hero__logo {
  bottom: calc(var(--px)*-51);
}

/* IMG:AUTO sub-hero */
/* 섹션 HTML 파생 (tools/img-size-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.sub-hero__bump {
    width: calc(var(--px)*652);
    aspect-ratio: 652 / 88;
}

.sub-hero__logo {
    width: calc(var(--px)*125);
    aspect-ratio: 125 / 125;
}
/* /IMG:AUTO sub-hero END */

/* FONT:AUTO sub-hero */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.sub-hero {
    font-weight: 800;
    line-height: 1.2;
    color: #ffffff;
}

.sub-hero__title {
    font-family: var(--font-poppins);
    font-size: var(--displayL);
    letter-spacing: -0.0249em; /* OVR */
}

.sub-hero__desc {
    font-family: var(--font-pretendard);
    font-size: var(--subheadL);
    letter-spacing: -0.04em;
    font-weight: 700;
}
/* /FONT:AUTO sub-hero END */

@media (max-width:599px) {
  .sub-hero {
    padding-bottom: 6.4vw;
  }

  .sub-hero__head {
    width: 89.3333vw;
    padding-top: 21.3333vw;
    padding-bottom: 12.8vw;
    gap: 0.5333vw;
    align-items: center;
  }

  .sub-hero__title {
    font-size: 13.8667vw; /* 52px — 토큰 --displayL(63px)이면 최장 COMMUNITY 395.7px 로 head 335px 을 넘친다 */
  }

  .sub-hero__bump {
    width: 70vw;
  }

  .sub-hero__logo {
    width: 13.3333vw;
    bottom: -5.3333vw;
  }

  .sub-hero__emblem {
    bottom: -0.8533vw;
  }
}

/* /merge-build:sub-hero */
/* merge-build:tab-nav */
/* tab-nav — 모바일: 탭 7개를 가로 스크롤 한 줄로 접는 후보 */
.tab-nav {
  --tab-nav-lift: 0px; /* 페이지가 .tab-nav 에 padding-top 을 주면 같은 값을 넣어 sticky 를 그만큼 끌어올린다 */
  position: sticky; /* PSD 주석: 서브탭 상단 고정 */
  top: calc(var(--px)*12 - var(--tab-nav-lift)); /* 고정 시 헤더와 12 간격 */
  z-index: 11; /* 뒤 섹션의 .front{z-index:10} 이 root 스택에서 경쟁 — 고정 중 탭바가 그 위여야 함 */
}

.tab-nav__bar {
  width: calc(var(--px)*1598);
  border: 2px solid #eaf1ee;
  border-radius: calc(var(--px)*40);
  background-color: rgb(255 255 255 / 0.72);
  -webkit-backdrop-filter: blur(calc(var(--px)*20));
  backdrop-filter: blur(calc(var(--px)*20));
}

.tab-nav__link {
  display: block;
  padding: calc(var(--px)*28) calc(var(--px)*39);
  transition: color .25s ease-out;
}

@media (hover: hover) {
  .tab-nav__link:hover {
    color: var(--primary);
  }
}

/* FONT:AUTO tab-nav */
/* spec.json 파생 (tools/spec-font-to-css.js · unit=--px) — 재생성 대상, 직접 수정 금지 */
/* 예외: line-height · letter-spacing 는 값을 고치고 뒤에 OVR 주석을 붙이면 재생성이 보존한다 */
.tab-nav {
    font-family: var(--font-pretendard);
    font-size: var(--bodyXL);
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1.2;
}

.tab-nav__link.tab-nav__link--active {
    color: #009e5a;
}

.tab-nav__link {
    color: #101111;
}
/* /FONT:AUTO tab-nav END */

/* INK:AUTO tab-nav */
.tab-nav__link.tab-nav__link--active { margin-top: calc(var(--px) * -2.3); /* margin-bottom: calc(var(--px) * 6.51); */ } /* base 0,0 */
.tab-nav__link { margin-top: calc(var(--px) * -2.3); /* margin-bottom: calc(var(--px) * 6.51); */ } /* base 0,0 */
/* /INK:AUTO tab-nav END */

@media (max-width:599px) {
  .tab-nav {
    top: calc(3.2vw - var(--tab-nav-lift));
  }

  .tab-nav__bar {
    position: relative;
    width: 91.4667vw;
    border-radius: 50vw;
    overflow: hidden;
    -webkit-backdrop-filter: blur(3.2vw);
    backdrop-filter: blur(3.2vw);
  }

  .tab-nav__bar::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 8.5333vw;
    background: linear-gradient(to left, #ffffff, transparent);
    pointer-events: none;
    opacity: 0;
    transition: opacity .2s;
  }

  .tab-nav__bar.is-scrollable:not(.is-scroll-end)::after {
    opacity: 1;
  }

  .tab-nav__list {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: center;
    justify-content: safe center;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .tab-nav__list::-webkit-scrollbar {
    width: 0;
    height: 0;
  }

  .tab-nav__item {
    flex-shrink: 0;
  }

  .tab-nav__link {
    padding: 4.2667vw 3.2vw;
    white-space: nowrap;
  }
}

/* /merge-build:tab-nav */