html,
body {
    -webkit-transform: none !important;
    transform: none !important;
    position: static !important;
}

:root {
    --tabbar-h: 10%;
    --tabbar-lock-height: var(--tabbar-h);
    --tw-text-opacity: 0.8;
}

.tabbar {
    position: fixed !important;
    left: 0;
    right: 0;
    top: auto !important;
    bottom: 0 !important;
    transform: none !important;
    backface-visibility: hidden;
    width: 100%;
    pointer-events: auto;

    min-height: var(--tabbar-h);
    padding: 8px 16px 12px;
    padding-bottom: calc(12px + env(safe-area-inset-bottom));

    background: #fff;
    -webkit-backdrop-filter: saturate(180%) blur(12px);

    border-top: 1px solid rgba(0, 0, 0, .08);
    display: flex;
    justify-content: space-around;
    align-items: center;
    z-index: 1000;

    border-radius: 15px 15px 0 0;
    box-shadow: 0 -6px 18px rgba(0, 0, 0, .06);

    will-change: transform;
    contain: layout paint;
}


.tabbar-item {
    --tabbar-icon-width: 25px;
    --tabbar-icon-height: 25px;
    --tabbar-icon-offset-x: 0px;
    --tabbar-icon-offset-y: 20px;
    --tabbar-icon-gap: 0px;
    --tabbar-label-offset-y: 40px;
    display: inline-flex;
    flex-direction: column;
    margin-top: -20px;
    align-items: center;
    gap: var(--tabbar-icon-gap);
    min-width: auto;
    color: #111;
    text-decoration: none;
}

.tabbar-ico {
    width: var(--tabbar-icon-width);
    height: var(--tabbar-icon-height);
    display: block;
    object-fit: contain;
    transform: none;
    position: relative;
    top: 32px;
}

.tabbar-label {
    font-size: 13px;
    line-height: 1.1;
    font-weight: 500;
    letter-spacing: -.2px;
    margin-top: var(--tabbar-label-offset-y);
}

body,
.container {
    padding-bottom: var(--tabbar-lock-height);
    padding-bottom: calc(env(safe-area-inset-bottom) + var(--tabbar-lock-height));
}

.scroll-top {
    right: 12px;
    bottom: calc(env(safe-area-inset-bottom) + var(--tabbar-lock-height) + 12px);
    z-index: 990;
    transform: translate3d(0, 130%, 0);
    opacity: 0;
}

.scroll-top.show {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

.pw-block {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transform: translateY(-6px);
    transition: max-height .25s ease, opacity .2s ease, transform .25s ease;
}

.pw-block.is-open {
    max-height: 160px;
    opacity: 1;
    transform: translateY(0);
}

#idError,
#pwError {
    min-height: 1px;
}

.notice-bar {
    display: flex;
    align-items: center;
    gap: 4px;
    height: 32px;
    padding: 0 12px;
    background: var(--softBG);
    border-bottom: 1px solid #e6eefc;
    font-size: 15px;
}

.notice-bar .logo-img {
    position: relative;
    top: 0px;
}

/* 헤더 */
.gov-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 60px;
    padding: 0 8px;
    background: #f6f4f459;
    position: static;
    top: auto;
    z-index: 10;
}

.gov-header .logo-img {
    width: 100px;
    height: 100px;
    position: relative;
    left: 7px;
}

/* 헤더 내 액션 버튼(로그인/전체메뉴) 세로 스택 */
header .header-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0px;
}

header .header-btn .icon-img {
    width: 20px;
    height: 20px;
    display: block;
}

#btnLogin {
    position: relative;
    left: 13px;
}

#btnMenu img {
    position: relative;
    top: 0.2px;
}

header .header-btn .label {
    font-size: 12px;
    line-height: 1.2;
}

.header-actions {
    display: flex;
    align-items: flex-end;
    gap: 0;
}

.header-actions>*+* {
    margin-left: var(--header-actions-spacing, -4px);
}

.header-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 56px;
    color: #000;
    background: none;
    border: 0
}

.header-btn .icon {
    width: 22px;
    height: 22px;
}

.header-btn span {
    font-size: 13px;
    margin-top: 2px
}

.header-btn {
    text-decoration: none;
    color: inherit;
    display: inline-flex;
    align-items: center;
}

.notice-strip {
    background: #fff
}

.notice-strip__content {
    display: flex;
    align-items: center;
    font-size: 15px;
    gap: 8px;
    height: 35px;
    padding: 0 14px;
    border-top: 1px solid rgba(0, 0, 0, .06);
    border-bottom: 1px solid rgba(0, 0, 0, .06)
}

.icon-img bell {
    width: 18px;
    height: 18px;
    display: block;
}

.notice-strip .chev {
    height: 21px;
    width: 21px;
    opacity: .8;
    position: relative;
    right: 8px;
}

.unified-section {
    background: var(--softBG);
    border-top: 1px solid var(--stroke);
    padding: 12px 0 18px;
}

.secondview-bg {
    background: var(--softBG);
}

.search-wrap {
    margin: 17px 18px;
    margin-bottom: -3px;
    position: relative;
}

.search-mode-banner {
    position: absolute;
    top: -33px;
    right: 22px;
    z-index: 6;
    height: 25px;
    border: 0;
    border-radius: 7px 7px 7px 0;
    background: #2e6bee;
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px 0 14px;
    font-size: 13px;
    font-weight: 500;
    box-shadow: 0 3px 10px rgba(30, 88, 214, .2);
    cursor: pointer;
    white-space: nowrap;
}

.search-mode-banner::after {
    content: "";
    position: absolute;
    right: 18px;
    bottom: -8px;
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 8px solid #2e6bee;
}

.search-mode-banner__text {
    line-height: 1;
}

.search-mode-banner__close {
    width: 14px;
    height: 14px;
    display: block;
    filter: brightness(0) invert(1);
}

.search-mode-banner.is-hidden {
    display: none;
}

.search-wrap #searchCapsule[data-mode="default"]~.search-mode-banner,
.search-wrap #searchCapsule[data-mode="ai"]~.search-mode-banner {
    display: inline-flex;
}

.search-capsule {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 56px;
    box-shadow: 0 1px 10px #0d05a33b;
    border: 2px solid #0347d8;
    background-clip: padding-box;
    border-radius: 30px;
    background: #fff;
    padding: 0 18px 0 18px;
    gap: 10px;
    position: relative;
    margin: 0 8px 0 8px;
}

.search-capsule[data-mode="ai"] {
    border: 2px solid transparent;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(90deg, #18c98b 0%, #236ce9 100%) border-box;
}

.search-capsule__left {
    min-width: 0;
    display: flex;
    align-items: center;
    flex: 1 1 auto;
}

.search-capsule__left.is-hidden {
    display: none;
}

.search-capsule__left--default input {
    flex: 1;
    border: 0;
    outline: 0;
    font-size: 16px;
    color: #111;
    background: transparent;
}

.search-capsule__left--default input::placeholder {
    color: #8b93a1;
}

.search-capsule__left--ai {
    gap: 10px;
    overflow: hidden;
}

.search-ai-character {
    width: 53px;
    height: 53px;
    display: block;
    flex: 0 0 auto;
    object-fit: contain;
    position: relative;
    left: 15px;
}

.search-ai-placeholder {
    min-width: 0;
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: #7e8592;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.search-capsule__right {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.search-btn {
    border: 0;
    background: none;
    font-size: 18px;
    height: 32px;
    width: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    position: relative;
    right: 10px;
}

.search-glass-icon {
    width: 20px;
    height: 20px;
    display: block;
}

.search-ai-toggle {
    position: relative;
    border: 0;
    background: none;
    width: 32px;
    height: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.search-ai-toggle__img {
    width: 22px;
    height: 22px;
    display: block;
}

.search-ai-toggle__img.is-hidden {
    display: none;
}

.card1 {
    margin: 20px 18px 0 18px;
    border-radius: 15px;
    background-color: #E2F3FD;
    max-width: calc(100% - 20px);
    max-height: calc(100% - 20px);
    padding: 12px 12px 20px;
    border: solid 1.3px #e5e7eb;
}

.frequent-services {
    margin: 33px 0 0;
}

.frequent-services .section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 16px;
}

.frequent-services .section-title .section-plus {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border: 0;
    background: none;
    padding: 0;
    color: #000;
    position: relative;
    top: 1px;
    cursor: pointer;
}

.frequent-services .section-title .section-plus-icon {
    width: 18px;
    height: 18px;
    display: block;
}

.frequent-services .service-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    row-gap: 9px;
    column-gap: 10px;
    margin-top: 0;
}

.service-grid span {
    color: inherit
}

.frequent-services .service-grid+.service-grid {
    margin-top: 12px;
}

.service-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 24px;
    align-items: center;
    column-gap: 10px;
    height: 47px;
    border-radius: 8px;
    border: 1.3px solid rgba(85, 116, 220, 0.165);
    background: #ffffff;
    padding: 0 12px;
    text-align: left;
    color: #000;
    -webkit-appearance: none;
    appearance: none;
}

.service-card span {
    font-size: 14px;
    font-weight: 680;
    line-height: 1.2;
    text-align: left;
    flex: 1;
    min-width: 0;
}

.frequent-shortcuts {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) minmax(0, 1fr) 44px;
    align-items: center;
    column-gap: 16px;
    margin: 20px 10px 48px 10px;
    background: transparent;
}

.frequent-shortcuts__nav {
    width: 35px;
    height: 35px;
    border: 0;
    border-radius: 50%;
    background: #e4e4e4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
}

.frequent-shortcuts__nav img {
    width: 18px;
    height: 18px;
    display: block;
}

.frequent-shortcuts__item {
    min-width: 0;
    min-height: 47px;
    border: 0;
    border-radius: 0;
    background: transparent;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 4px;
    text-align: left;
    color: #111;
    box-shadow: none;
    cursor: pointer;
}

.frequent-shortcuts__item img {
    width: 25px;
    height: 25px;
    display: block;
    flex: 0 0 auto;
}

.frequent-shortcuts__item span {
    min-width: 0;
    display: block;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

.ex1 {
    margin: 0 14px;
}

.ex1 img {
    width: 100%;
    height: 90%;
    display: block;
    border-radius: 15px;
    object-fit: cover;
}

.service-card .svc-ico {
    width: 21px;
    height: 21px;
    display: block;
    justify-self: end;
    align-self: center;
}

.service-card .svc-plus {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: end;
    align-self: center;
    font-size: 20px;
    line-height: 1;
    font-weight: 500;
    color: #000;
}

.service-card--more {
    opacity: .95
}

.more-toggle-wrap {
    display: none;
}

.more-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 0;
    background: none;
    padding: 4px 8px;
    color: rgba(0, 0, 0, .6);
    cursor: pointer;
    position: relative;
    top: 15px;
}

.label {
    font-size: 15px;
    font-weight: 350;
}

.more-toggle:focus {
    outline: none;
}

.more-toggle .plus {
    --size: 18px;
    --thickness: 4px;

    position: relative;
    display: inline-block;
    width: var(--size);
    height: var(--size);
    line-height: 1;
    vertical-align: middle;
    transform: translateY(0px);
    font-size: 0;
}

.more-toggle .plus-icon {
    width: 16px;
    height: 16px;
    display: inline-block;
    vertical-align: middle;
    pointer-events: none;
    user-select: none;
    position: relative;
    top: 0px;
    right: 2px;
}

.more-toggle-wrap {
    display: none;
}

.more-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 0;
    background: none;
    padding: 4px 8px;
    color: #000;
    opacity: .9;
}



/* 빠른 링크 */
.quick-links {
    margin: 10px 18px 40px 18px;
    padding-top: 1px
}

.quick-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    font-size: 16px;
    font-weight: 600;
    color: var(--text);
    width: 100%;
    padding: 12px 14px;
    border-radius: 12px;
    background: #ffff;
    border: 1px solid rgba(85, 116, 220, 0.165);
    margin-bottom: 10px;
}

.quick-link > span:not(.id) {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
}

.quick-link .id.ico-arr-right {
    margin-left: auto;
    right: 8px
}

.quick-link span {
    color: inherit;
}

.quick-icon {
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border-radius: 8px;
    background: #ffffff
}

/* 푸터 토글 */
.footer-toggle {
    margin: 18px 0;
    background: var(--footerBG);
    border-top: 1px solid rgba(0, 0, 0, .12);
    border-bottom: 1px solid rgba(0, 0, 0, .12);
    padding: 12px 16px;
    border-radius: 12px;
}

.footer-toggle__btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: 0;
    width: 100%;
    text-align: left
}

#goAdmin {
    display: none;
}

.footer-toggle__btn .chev {
    margin-left: auto;
    transition: transform .2s ease
}

.footer-toggle__btn[aria-expanded="true"] .chev {
    transform: rotate(180deg)
}

.footer-toggle__panel {
    padding-top: 10px
}

.footer-panel__row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap
}

.precheck-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .35);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    z-index: 1000;
}

.precheck-overlay.is-open {
    display: flex;
}

.precheck-card {
    width: min(92vw, 279px);
    background: #fff;
    border-radius: 13px;
    box-shadow: 0 14px 36px rgba(0, 0, 0, .2);
    overflow: hidden;
    position: relative;
    top: -17px;
}

.pre-head {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 9px 11px 7px;
}

.pre-flag {
    width: 27px;
    height: 27px;
    display: block;
}

.pre-title {
    font-size: 15.3px;
    font-weight: 600;
    color: #111;
    margin: 0;
    line-height: 1.1;
}

.pre-sep {
    height: 0.5px;
    background: rgba(0, 0, 0, .25);
}

.precheck-text {
    padding: 16px 14px 12px;
    text-align: center;
    font-size: 14.4px;
    line-height: 1.5;
    margin: 0 0 7px;
}

.precheck-text .emph {
    color: #d32f2f;
    text-decoration: underline;
    font-weight: 600;
}

.precheck-law {
    font-size: 14.4px;
    color: #000;
    margin: -12px 0 13px;
    text-align: center;
    font-weight: 600;
}

.precheck-law .mark {
    font-size: 14.4px;
    font-weight: 400;
    color: #000;
}

.pre-ok {
    display: block;
    width: 100%;
    padding: 15px 0;
    background: #fff;
    border: 0;
    cursor: pointer;
    color: #2563eb;
    font-weight: 600;
    font-size: 14.4px;
}

.id.ico-arr-right {
    width: 17px;
    height: 18px;
    display: inline-block;
    flex: 0 0 auto;
    background: url("../assets/icons/right-arr.svg") no-repeat center/contain;
    position: relative;
    right: 10px
}


body.precheck-lock {
    overflow: hidden;
}

.scroll-top {
    position: fixed;
    right: 15px;
    bottom: 200px;
    border: 0;
    border-radius: 7px;
    border: 1.4px solid rgba(0, 3, 10, 0.165);
    transform: translate3d(0, 620%, 0);
    opacity: 0;
    width: 55px;
    height: 55px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    transition: transform .45s cubic-bezier(0.22, 0.61, 0.36, 1), opacity .35s ease;
    will-change: transform, opacity;
    z-index: 100;
}

.scroll-top.show {
    transform: translate3d(0, 0, 0);
    opacity: 1;
    pointer-events: auto;
}

.scroll-icon {
    width: 24px;
    height: 24px;
    display: block;
}

.channel {
    margin: 0;
    margin-bottom: calc(-1 * (env(safe-area-inset-bottom)));
}

.channel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 7px 10px;
    border-top: 1px solid rgba(0, 0, 0, .08);
    background: #fff;
}

.channel__header h3 {
    margin: 0px;
    font-size: 16px;
    font-weight: 400;
    align-items: center;
    position: relative;
    right: 0px;
    top: px;
}

.channel__header .plus-for-icon {
    width: 20px;
    height: 20px;
    display: inline-block;
    position: relative;
    right: 3px;
    vertical-align: middle;
    margin: 12px;
    max-width: none;

}

#channelToggle {
    border: 0;
    background: none;
    font-size: 18px;
    line-height: 1;
    transform: rotate(0deg);
    display: inline-flex;
    align-items: center;
    padding: 0;
    align-self: center;
}

#channelToggle .toggle-icon {
    transform: rotate(0deg);
}

#channelToggle[aria-expanded="true"] .toggle-icon {
    transform: rotate(180deg);
}

.channel__card {
    background: var(--footerBG);
    padding: 12px;
    border: 1px solid rgba(0, 0, 0, .08);
    margin-top: -12px;
    border-radius: 0 0 0 0;

}

.channel__body {
    background: var(--footerBG);
    margin-top: 0;
    padding-bottom: 0;
    min-height: 300px;
}

.channel__logo-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
}

.channel__logo-row .logo-img {
    height: 32px;
    display: block;
    margin: 0;
    /* 아래로 밀리던 여백 제거 */
    align-self: center;
    /* 행의 세로 중앙 고정 */
}

.channel__logo-row .toggle-icon {
    width: 22px;
    height: 22px;
    display: inline-block;
    position: relative;
    /* ← 위치 보정은 position으로 */
    left: -16px;
    /* X: -15px */
    top: 0px;
    /* Y: 5px  */
    vertical-align: middle;
    margin: 17px;
    /* 불필요한 바닥 여백 제거 */
    max-width: none;
}

.channel__body .title {
    font-weight: 700;
    font-size: 17px;
    margin: 8px 0 4px;
}

.channel__body .title+p {
    margin-top: 0;
    font-weight: 400;
    font-size: 17px;
    color: #333333;
}

.channel__body .address-line {
    font-weight: 400;
    font-size: 17px;
    color: #333333;
}

.channel__body .contact-info,
.channel__body .extension-list {
    line-height: 1.45;
}

#panelExpanded p:first-child+p {
    margin-top: 4px;
}

.channel__list>div {
    margin-bottom: 12px;
    /* 원하는 만큼 조절 가능 */
    font-weight: 400;
    font-size: 17px;
    color: #333333;
}

.channel__links {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 0;
    color: #000000;
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    left: -8px;
    margin-top: 15px
}

.divider {
    width: 100%;
    height: 1px;
    background: rgba(0, 0, 0, .15);
    display: inline-block;
    color: #000000;
    -webkit-appearance: none;
    appearance: none;
}


.channel .copyright {
    font-size: 14px;
    color: rgba(0, 0, 0, .6);
    margin: 6px 0 0;
    padding-bottom: 90px;
}

.sns {
    margin-left: auto;
    margin-top: 0;
    display: flex;
    align-items: center;
}

.sns__item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sns__icon {
    width: 40px;
    height: 40px;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    box-sizing: border-box;
}

.sns-img {
    width: 20px;
    height: 20px;
    display: block;
}

.icon-img {
    width: 18px;
    height: 18px;
    display: block;
}

.btnMenu {
    width: 18px;
    height: 18px;
    display: block;
}


.frequent-services {
    padding-left: 16px;
    padding-right: 16px;
    margin-bottom: 20px;
}

.quick-links {
    padding-left: 1px;
    padding-right: 1px;
}

.is-hidden {
    display: none !important;
}

.more-services-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: calc(env(safe-area-inset-bottom) + var(--tabbar-lock-height));
    background: rgba(0, 0, 0, 0.421);
    z-index: 950;
    display: none;
}

.more-services-modal.is-open {
    display: flex;
}

.more-services-sheet {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    overflow: hidden;
    background: transparent;
    border: 2px solid rgba(255, 255, 255, .96);
    border-radius: 24px;
    box-shadow: none;
    padding: 5px;
    margin: 30px 10px 15px;
    width: calc(100% - 20px);
    height: calc(100% - 75px);
}

.more-services-sheet-inner {
    height: 100%;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 19px;
    background: var(--bg);
    padding: 16px 16px 18px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 10px 24px rgba(0, 0, 0, .08);
}

.more-services-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 16px;
    flex: 0 0 auto;
}

.more-services-title {
    margin: 0;
    font-size: 21px;
    font-weight: 800;
    color: #111;
    line-height: 1.2;
    padding: 10px 8px 8px 8px;
}

.more-services-close {
    border: 0;
    background: none;
    padding: 0;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex: 0 0 auto;
    margin-right: 6px;
    margin-top: 2px;
}

.more-services-close img {
    width: 28px;
    height: 28px;
    display: block;
}

.more-services-close:focus,
.more-services-close:focus-visible {
    outline: none;
    box-shadow: none;
}

.more-services-list {
    display: grid;
    gap: 14px;
    flex: 1 1 auto;
    align-content: start;
    min-height: 0;
    overflow: auto;
    padding: 2px 8px 4px;
}

.more-services-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 28px;
    align-items: center;
    column-gap: 12px;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 16px;
    border: 1.3px solid rgba(85, 116, 220, 0.165);
    background: #ffffff;
    text-align: left;
    color: #111;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .9), inset 0 0 0 1px rgb(219, 228, 245);
}

.more-services-item span {
    font-size: 18px;
    font-weight: 800;
    line-height: 1.25;
    min-width: 0;
}

.more-services-item .svc-ico,
.more-services-item .svc-plus {
    justify-self: end;
    align-self: center;
}

body.more-services-lock {
    overflow-x: hidden;
}

.quick-links-description {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    margin-top: 0px;
    font-size: 16px;
    font-weight: 500;
    transform: translate(-16px, 0);
}

:root {
    --pageBG: #fff;
    --text: #111;
    --muted: #666;
    --soft: #f5f6f8;
    --line: #e6e8ef;
    --primary: #2f66ff;
    --primary-ink: #fff;
    --field-border: #cfd6e6;
}

.login-page {
    background: var(--pageBG);
    color: var(--text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Pretendard, Apple SD Gothic Neo, "Noto Sans KR", system-ui, sans-serif;
}

.login-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px 20px;
    position: flex;
    top: 0;
    z-index: 5;
    background: #fff;
}

.login-header h1 {
    font-size: 18px;
    font-weight: 400;
    margin: 0;
    flex: 1;
    position: relative;
    left: -4px;
    top: -7px
}

.icon-btn {
    border: 0;
    background: none;
    padding: 8px;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}

.icon-btn.small {
    font-size: 16px;
    padding: 6px;
}

.header-actions {
    display: flex;
    gap: 6px;
    margin-left: auto;
}

.login-body {
    padding: 14px 16px 24px;
}

.field-label {
    display: block;
    font-size: 13px;
    color: #222;
    margin-bottom: 8px;
}

.textfield {
    border: 1px solid var(--field-border);
    border-color: #000000af;
    background: #fff;
    border-radius: 10px;
    height: 46px;
    display: flex;
    align-items: center;
    padding: 0 12px;
}

.textfield input {
    border: 0;
    outline: 0;
    flex: 1;
    font-size: 15px;
    color: #111;
}

.textfield input::placeholder {
    color: #636870;
}

.checkline {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    color: #222;
}

.primary-btn {
    width: 100%;
    height: 52px;
    border: 0;
    border-radius: 7px;
    background: var(--primary);
    color: var(--primary-ink);
    font-weight: 400;
    font-size: 18px;
    box-shadow: 0 6px 14px rgba(47, 102, 255, .18);
    cursor: pointer;
}

.hlinks {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--muted);
    margin: 14px 0 10px;
    font-size: 14px;
}

.hlinks a {
    color: inherit;
    text-decoration: none;
}

.hlinks .divv {
    color: #b6bdc9;
}

.sep {
    border: 0;
    height: 1px;
    background: var(--line);
    margin: 16px 0;
}

.bullets {
    margin: 0;
    padding-left: 18px;
    color: #444;
    line-height: 1.55;
    font-size: 15px;
}

.bullets li {
    margin: 10px 0;
}

.alt-login-head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-top: 18px;
}

.alt-login-head .alt-title {
    font-size: 20px;
    font-weight: 600;
    margin: 0;
}

.alt-link-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    padding: 0 4px;
    font-size: 15px;
    font-weight: 500;
    color: #111;
    text-decoration: none;
}

.alt-link-row .icon-img {
    width: 18px;
    height: 18px;
}

.below-divider {
    height: 12px;
}

.next-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1px 17px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: #fff;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 12px;
}

.login-page .checkline {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 1px 0 18px;
    font-size: 15px;
    color: #222;
}

.login-page .checkline input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border: 1.4px solid var(--field-border);
    border-radius: 4px;
    background: #fff;
    display: inline-block;
    position: relative;
    cursor: pointer;
    vertical-align: middle;
}

.login-page .checkline input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border: 1.4px solid #000000af;
    border-radius: 4px;
    outline: none;
    cursor: pointer;
    background-color: #fff;
}

.login-page .checkline input[type="checkbox"]:checked {
    background-color: var(--primary);
    border-color: var(--primary);
    background-image: url("../assets/icons/checkmark.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px 18px;
    stroke: white;
}

.login-page .checkline input[type="checkbox"]:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(47, 102, 255, .18);
}

.next-section-head .plus-icon {
    width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: middle;
    pointer-events: none;
    user-select: none;
    position: relative;
    top: -4px;
    right: 2px;
}

.next-section-head h3 {
    font-size: 16px;
    font-weight: 600;
    align-items: center;
    position: relative;
    right: 0px;
    top: -4px;
}

.scroll-topp {
    position: fixed;
    right: 12px;
    bottom: 88px;
    border: 0;
    border-radius: 20px;
    width: 44px;
    height: 44px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
    background: #fff;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translate3d(0, 620%, 0);
    opacity: 0;
    pointer-events: none;
    transition: transform .45s cubic-bezier(0.22, 0.61, 0.36, 1), opacity .35s ease;
    will-change: transform, opacity;
    z-index: 10;
}

.scroll-topp.show {
    transform: translate3d(0, 0, 0);
    opacity: 1;
    pointer-events: auto;
}

.header-actionss {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    position: relative;
    top: 8px;
}

.top-icons {
    display: flex;
    gap: 4px;
    position: relative;
}

.bottom-icons {
    display: flex;
    justify-content: flex-end;
}

.icon-btn[aria-label="공유"] {
    margin-top: -5px;
}

.icon-btn[aria-label="검색"] {
    margin-right: -7px;
}

:root {
    --line: #cfd6e4;
    --text: #111;
    --muted: #5f6b7a;
    --brand: #3b82f6;
    --danger: #d64545;
    --ok: #15803d;
    --bg: #ffffff;
    --soft: #f6f8fc;
}

* {
    box-sizing: border-box
}

body {
    margin: 0;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Apple SD Gothic Neo, Malgun Gothic, sans-serif;
    color: var(--text);
    background: #fff
}

/* 헤더 */
.nl-header {
    position: sticky;
    top: 0;
    z-index: 5;
    background: #fff;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px 10px;
}

.nl-title {
    font-size: 20px;
    font-weight: 700;
    margin: 0
}

.nl-actions {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.nl-actions .row {
    display: flex;
    gap: 6px;
    justify-content: flex-end
}

.icon-btn {
    border: 0;
    background: transparent;
    padding: 8px;
    line-height: 0;
    cursor: pointer
}

.icon-img {
    width: 22px;
    height: 22px;
    display: block
}

.nl-wrap {
    padding: 16px
}

.nl-h1 {
    font-size: 24px;
    font-weight: 800;
    line-height: 1.3;
    margin: 12px 0 18px;
}

.nl-card {
    border: 1.5px solid var(--line);
    border-radius: 14px;
    background: #fff;
    padding: 14px;
    margin-bottom: 18px;
}

.field {
    margin: 18px 0;
}

.field-label {
    display: block;
    font-weight: 800;
    margin-bottom: 8px;
}

.req {
    color: var(--danger);
    font-weight: 700;
}

.input {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    font-size: 16px;
    background: #fff;
    border: 1.5px solid var(--line);
    border-radius: 12px;
    outline: 0;
}

.input:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, .12);
}

.input-row {
    display: flex;
    gap: 8px;
}

.input-row .input {
    flex: 1;
}

.btn-secondary {
    height: 48px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    font-weight: 700;
    cursor: pointer;
}

.btn-primary {
    height: 52px;
    padding: 0 18px;
    border: 0;
    border-radius: 12px;
    background: #3d6be9;
    color: #fff;
    font-weight: 800;
    font-size: 18px;
    cursor: pointer;
    width: 100%;
}

.btn-outline {
    width: 100%;
    height: 52px;
    padding: 0 18px;
    border: 1.5px solid var(--line);
    border-radius: 12px;
    background: transparent;
    color: #000;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    display: block;
    margin-top: 10px;
}

.btn-outline:active {
    transform: translateY(1px);
}

.btn-outline:focus-visible {
    outline: 2px solid rgba(59, 130, 246, .35);
    outline-offset: 2px;
}

.btn-secondary:active,
.btn-primary:active {
    transform: translateY(1px);
}

.help {
    margin: 8px 2px 0;
    font-size: 14px;
    color: var(--brand);
}

.helpp {
    margin: 8px 2px 0;
    font-size: 14px;
    color: var(--brand);
}

.help.error {
    color: var(--danger);
}

.help.ok {
    color: var(--ok);
}

.input.is-ok {
    border-color: #22c55e;
}

.input.is-error {
    border-color: #ef4444;
}

.rrn {
    display: flex;
    gap: 10px;
}

.rrn .input {
    text-align: center;
    letter-spacing: 2px;
}

.dash {
    align-self: center;
    color: #9aa2af;
}

.captcha-row {
    display: flex;
    gap: 10px;
    align-items: center;
}

.captcha {
    height: 64px;
    width: 200px;
    background: #eee url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%22200%22 height=%2264%22><text x=%2210%22 y=%2242%22 font-size=%2240%22 font-family=%22monospace%22>980401</text></svg>') center/contain no-repeat;
    border-radius: 10px;
    border: 1px solid var(--line);
}

.btn-ghost {
    height: 40px;
    padding: 0 12px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 10px;
    font-weight: 700;
}

.nl-footer-space {
    height: 28px
}

.prelogin-page {
    padding-bottom: 24px
}

.prelogin-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px
}

.prelogin-header h1 {
    font-size: 18px;
    font-weight: 600;
    margin: 0
}

.prelogin-header .icon-btn {
    background: none;
    border: 0;
    padding: 8px;
    font-size: 18px
}

.prelogin-body {
    padding: 0 16px
}

.prelogin-title {
    font-size: 28px;
    line-height: 1.25;
    font-weight: 800;
    margin: 12px 0 20px
}

.prelogin-tabs {
    display: flex;
    gap: 0px;
    margin-bottom: 16px
}

.prelogin-tab {
    flex: 1;
    text-align: center;
    padding: 14px 0;
    font-size: 18px;
    background: transparent;
    background: #fff;
    font-weight: 700;
    border-radius: 6px;
    border: none;
}

.prelogin-tab.is-active {
    background: #0b3760;
    color: #fff;
    border-color: #0b3760
}

.prelogin-section-title {
    font-size: 22px;
    line-height: 1.35;
    font-weight: 800;
    margin: 22px 0 14px
}

.prelogin-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}

.tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 108px;
    border-radius: 14px;
    border: 1px solid #e3e6ea;
    background: #f5f6f8;
    color: #000;
    text-decoration: none;
    -webkit-appearance: none;
    appearance: none;
}

.tile span {
    font-size: 18px;
    font-weight: 700
}

.divider-row {
    width: 100%;
    height: 1.4px;
    background: rgba(0, 0, 0, .55);
    display: inline-block;
    color: #000000;
    -webkit-appearance: none;
    appearance: none;
}

.signup-promo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 31px;
    padding: 20px 10px 7px 0px;
}

.signup-promo .q {
    font-size: 18px;
    font-weight: 800
}

.signup-promo a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #000;
    text-decoration: none;
}

.next-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-top: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;
    background: #fff;
    margin-top: 50px 0 10px;
}

.next-section-head h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 700
}

a {
    text-decoration: none;
    color: inherit;
}

.tile .multiline {
    display: block;
    text-align: center;
    line-height: 1.3;
}

.divider-row {
    width: 100%;
    height: 1.4px;
    background: rgba(0, 0, 0, .55);
    display: inline-block;
    color: #000000;
    -webkit-appearance: none;
    appearance: none;
}

.tile-icon {
    width: 30px;
    height: 30px;
    display: block;
    margin: 0 0 0px;
}

.prelogin-tabs {
    display: flex;
    gap: 12px;
    margin: 10px 0 18px
}

.prelogin-tab {
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    border: none;
    color: #111;
    padding: 12px 24px;
    border-radius: 7px;
    font-weight: 800;
    font-size: 16px
}

.prelogin-tab.is-active {
    background: #0b3760;
    color: #fff;
}

#section-corporate .prelogin-grid:last-of-type {
    margin-bottom: 40px;
}

.login-page .next-section-head h3 {
    position: relative;
    top: 3px;
}

.login-page .next-section-head .plus-icon {
    position: relative;
    top: 3px;
}

html,
body {
    height: 100%;
}

body {
    min-height: 100dvh;
    padding-bottom: env(safe-area-inset-bottom);
    overflow-x: hidden;
}

.safe-bottom {
    padding-bottom: max(16px, env(safe-area-inset-bottom));
}

.fixed-bottom {
    bottom: env(safe-area-inset-bottom);
}

@media (display-mode: standalone) {
    .browser-ui {
        display: none !important;
    }

}

html.a2hs body {
    padding-bottom: env(safe-area-inset-bottom);
}

@media (max-width: 520px) {
    :root {
        --tabbar-h: 84px;
        --tabbar-lock-height: var(--tabbar-h);
    }
}

.benefits {
    --panel-shell-svg: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 220' preserveAspectRatio='none'><path fill='%23ffffff' d='M15 0H120C134.359 0 136 11.641 136 24V25C136 38.627 141.373 44 148 44H345C353.284 44 360 50.716 360 59V205C360 213.284 353.284 220 345 220H15C6.716 220 0 213.284 0 205V15C0 6.716 6.716 0 15 0Z'/></svg>");
}

.benefits {
    padding-left: 16px;
    padding-right: 16px;
    margin-top: 22px;
    margin-bottom: 18px;
}

.benefits>.sch-mo-benefit-wrap {
    position: relative;
    min-height: 206px;
    background: transparent;
    overflow: hidden;
}

.benefits>.sch-mo-benefit-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center;
    background-image: var(--panel-shell-svg);
}

.tit-title {
    font-size: 17px;
    font-weight: 800;
}

.benefits>.sch-mo-benefit-wrap .title-wrap {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 64px;
    padding: 0 18px 0 20px !important;
    margin: 0;
    background: transparent;
}

.benefits>.sch-mo-benefit-wrap .title-wrap::before,
.benefits>.sch-mo-benefit-wrap .title-wrap::after {
    display: none;
}

.benefits>.sch-mo-benefit-wrap .title-wrap .tit {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
    color: #111;
}

.benefits>.sch-mo-benefit-wrap .title-wrap .btn-txt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    padding: 0;
    border: 0;
    background: transparent;
    color: transparent;
    font-size: 0;
    line-height: 1;
    text-decoration: none;
}

.benefits>.sch-mo-benefit-wrap .title-wrap .btn-txt::before {
    content: "";
    width: 18px;
    height: 18px;
    display: block;
    background: url("../assets/icons/right-arr.svg") no-repeat center/contain;
}

.benefits>.sch-mo-benefit-wrap .cont-wrap {
    position: relative;
    z-index: 1;
    padding: 65px 14px 14px !important;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}

.benefits>.sch-mo-benefit-wrap .cont-wrap::before,
.benefits>.sch-mo-benefit-wrap .cont-wrap::after {
    display: none;
}

.benefits>.sch-mo-benefit-wrap .mo-main-bn-wrap {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 58px;
    gap: 8px;
    padding: 0 5px;
}

.benefits>.sch-mo-benefit-wrap .mo-main-bn-wrap .bn-card {
    padding: 0 10px;
    border-radius: 16px;
    min-height: 58px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    box-shadow: none;
}

.benefits>.sch-mo-benefit-wrap .mo-main-bn-wrap .bn-card.bg-pink {
    background: #f8eaec;
}

.benefits>.sch-mo-benefit-wrap .mo-main-bn-wrap .bn-card.bg-green {
    background: #eef8eb;
}

.benefits>.sch-mo-benefit-wrap .mo-main-bn-wrap .bn-card.bg-gray {
    background: #edf2fb;
}

.benefits>.sch-mo-benefit-wrap .mo-main-bn-wrap .bn-card.bg-blue {
    background: #edf3fe;
}

.benefits>.sch-mo-benefit-wrap .mo-main-bn-wrap .bn-card .tit {
    margin: 0;
    font-size: 15.5px;
    font-weight: 800;
    line-height: 1.3;
    color: #222;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
    text-align: left;
}







/* 생활가이드 */
.lifeguide-panel {
    position: relative;
    margin: 0 18px 18px;
    padding: 8px 12px 10px;
    overflow: hidden;
    isolation: isolate;
}

.lifeguide-panel::before,
.lifeguide-panel::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    z-index: 0;
    pointer-events: none;
}

.lifeguide-panel::before {
    top: 0;
    left: 0;
    left: -1.5px;
    right: auto;
    width: 338px;
    height: 80px;
    background: no-repeat top left / 338px 80px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='360' height='82' viewBox='0 0 280 82' preserveAspectRatio='none'><path d='M18 1H96C109.255 1 112 11.745 112 24V25C112 38.627 111.373 50 148 49H265C272.732 49 279 55.268 279 63V67C279 74.732 272.732 81 265 81H1V18C1 8.611 8.611 1 18 1Z' fill='white' stroke='none'/></svg>");
    z-index: 0;
}

.lifeguide-panel::after {
    top: 45px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #ffffff;
    border-top: 0;
    border-radius: 18px 18px 18px 18px;
    height: auto;
    width: auto;
}

.lifeguide-panel>.tit-area,
.lifeguide-panel>.lifeguide-shell {
    position: relative;
    z-index: 1;
}

.lifeguide-panel>.tit-area {
    margin: 0 0 -10px;
    padding-left: 12px;
}

.lifeguide-panel>.tit-area .btn-txt {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 0;
    text-decoration: none;
    background: transparent;
    margin: 10px 10px;
}

.lifeguide-panel>.tit-area .tit {
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
    color: #111827;
}

.lifeguide-panel>.tit-area .iconset.ico-arr-right {
    width: 16px;
    height: 16px;
    display: inline-block;
    flex: 0 0 auto;
    background: url("../assets/icons/right-arr.svg") no-repeat center/contain;
    position: relative;
    right: 10px
}

.lifeguide-panel>.tit-area .iconset.ico-arr-right::after {
    display: none;
}

.lifeguide-panel>.lifeguide-shell {
    position: relative;
}

.lifeguide-panel>.lifeguide-shell::before,
.lifeguide-panel>.lifeguide-shell::after {
    content: "";
    position: absolute;
    top: 10px;
    width: 20px;
    height: 88px;
    z-index: 3;
    pointer-events: none;
    opacity: 0;
    transition: opacity .2s ease;
}

.lifeguide-panel>.lifeguide-shell::before {
    left: -12px;
    background: linear-gradient(270deg, rgb(255, 255, 255) 0%, #ffffff 58%, #ffffff 100%);
    border-top-left-radius: 18px;
    border-bottom-left-radius: 18px;
}

.lifeguide-panel>.lifeguide-shell::after {
    right: -12px;
    background: linear-gradient(90deg, rgb(255, 255, 255) 0%, #ffffff 58%, #ffffff 100%);
    border-top-right-radius: 18px;
    border-bottom-right-radius: 18px;
}

.lifeguide-panel>.lifeguide-shell.has-left-fade::before {
    opacity: 1;
}

.lifeguide-panel>.lifeguide-shell.has-right-fade::after {
    opacity: 1;
}


.lifeguide-panel>.lifeguide-shell>.cont-area {
    position: relative;
    z-index: 1;
    padding: 0;
}

.lifeguide-panel .lifeguide-wrap {
    position: relative;
}

.lifeguide-panel .hor-scroll-wrap {
    overflow-x: auto;
    overflow-y: hidden;
    margin-left: -12px;
    margin-right: -12px;
    padding: 20px 28px 0 12px;
    -webkit-overflow-scrolling: touch;
}

.lifeguide-panel .hor-scroll-wrap::-webkit-scrollbar {
    display: none;
}

.lifeguide-panel .btn-tab {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    width: max-content;
    min-width: max-content;
    padding: 0;
}

.lifeguide-panel .btn-tab .tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    min-width: 66px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #4b5563;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.03em;
    white-space: nowrap;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.lifeguide-panel .btn-tab .tab .img-wrap {
    width: 40px;
    height: 40px;
    border-radius: 13px;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    isolation: isolate;
}

.lifeguide-panel .btn-tab .tab.is-active {
    color: #2d68ea;
}

.lifeguide-panel .btn-tab .tab.is-active .img-wrap::before {
    content: "";
    position: absolute;
    inset: -5px;
    padding: 2px;
    border-radius: 18px;
    background: linear-gradient(180deg, #18c98b 0%, #236ce9 100%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    pointer-events: none;
}

.lifeguide-panel .btn-tab .tab .ico-main-life {
    position: relative;
    z-index: 1;
    display: block;
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
}

.lifeguide-panel .btn-tab .tab .ico-main-life.guide-parenting {
    background-image: url("../assets/icons/life1.svg");
}

.lifeguide-panel .btn-tab .tab .ico-main-life.guide-death {
    background-image: url("../assets/icons/life2.svg");
}

.lifeguide-panel .btn-tab .tab .ico-main-life.guide-welfare {
    background-image: url("../assets/icons/life3.svg");
}

.lifeguide-panel .btn-tab .tab .ico-main-life.guide-marriage {
    background-image: url("../assets/icons/life4.svg");
}

.lifeguide-panel .btn-tab .tab .ico-main-life.guide-pregnancy {
    background-image: url("../assets/icons/life5.svg");
}

.lifeguide-panel .btn-tab .tab .ico-main-life.guide-moving {
    background-image: url("../assets/icons/life6.svg");
}

.lifeguide-panel .btn-tab .tab:focus-visible,
.lifeguide-panel .lifeguide-more:focus-visible {
    outline: 2px solid #2d68ea;
    outline-offset: 3px;
}

.lifeguide-panel .lifeguide-panels {
    margin-top: 0px;
    margin-bottom: -5px;
}

.lifeguide-panel .lifeguide-content[hidden] {
    display: none !important;
}

.lifeguide-panel .lifeguide-content.is-active {
    display: block;
}

.lifeguide-panel .lifeguide-content .card-wrap {
    flex-direction: column;
    gap: 0px;
    padding: 0 0px;
}

.lifeguide-panel .lifeguide-content .card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 42px;
    padding: 0 15px;
    border: 0;
    text-decoration: none;
    overflow: hidden;
    isolation: isolate;
}

.lifeguide-panel .lifeguide-content .card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: no-repeat center / 100% 100%;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 44' preserveAspectRatio='none'><rect x='0' y='0' width='320' height='44' rx='0' ry='0' fill='%23edf3fc'/></svg>");
}

.lifeguide-panel .lifeguide-content.has-extra:not(.is-expanded) .card-wrap .card:nth-child(2)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 42px;
    background: linear-gradient(180deg, rgba(237, 243, 252, 0) 0%, rgba(255, 255, 255, 0.82) 65%, rgba(255, 255, 255, 1) 100%);
    pointer-events: none;
}

.lifeguide-panel .lifeguide-content .card.is-extra {
    display: none;
}

.lifeguide-panel .lifeguide-content.is-expanded .card.is-extra {
    display: flex;
}

.lifeguide-panel .lifeguide-content .card .txt {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    color: #3f4754;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -0.03em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lifeguide-panel .lifeguide-content .card .iconset.ico-arr-right,
.lifeguide-panel .lifeguide-content .card .iconset.xsm.ico-arr-right {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    background: url("../assets/icons/right-arr.svg") no-repeat center/contain;
    opacity: 0.72;
}

.lifeguide-panel .lifeguide-content .card .iconset.ico-arr-right::after,
.lifeguide-panel .lifeguide-content .card .iconset.xsm.ico-arr-right::after {
    display: none;
}

.lifeguide-panel .lifeguide-more {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 100%;
    margin-top: 10px;
    padding: 2px 0 0;
    border: 0;
    background: transparent;
    color: #1f2937;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
}

.lifeguide-panel .lifeguide-more[hidden] {
    display: none !important;
}

.lifeguide-panel .lifeguide-more .label-less {
    display: none;
}

.lifeguide-panel .lifeguide-content.is-expanded .lifeguide-more .label-more {
    display: none;
}

.lifeguide-panel .lifeguide-content.is-expanded .lifeguide-more .label-less {
    display: inline;
}

.lifeguide-panel .lifeguide-more .arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    background: url("../assets/icons/bottom-arr-ico.svg") no-repeat center/contain;
    transform: rotate(0deg);
    transition: transform 0.2s ease;
}

.lifeguide-panel .lifeguide-more .arrow::before {
    display: none;
}

.lifeguide-panel .lifeguide-content.is-expanded .lifeguide-more .arrow {
    transform: rotate(180deg);
}

/* rlaguswls-main의 390px 메인 이미지 비율을 HTML 카드에 적용 */
.card1 {
    margin: 20px 16px 0;
    max-width: none;
    max-height: none;
    padding: 20px 21px 22px;
    border: 1px solid #cfe4fb;
    border-radius: 15px;
    background: #e3f3fd;
}

.frequent-services {
    margin: 0;
    padding: 0;
}

.frequent-services .section-title {
    min-height: 24px;
    margin: 0 0 15px;
    font-size: 17px;
    font-weight: 700;
    line-height: 24px;
}

.frequent-services .section-title .section-plus,
.frequent-services .section-title .section-plus-icon {
    width: 21px;
    height: 21px;
}

.frequent-services .service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.service-card {
    grid-template-columns: minmax(0, 1fr) 22px;
    column-gap: 8px;
    height: 54px;
    padding: 0 12px;
    border-radius: 10px;
}

.service-card span {
    overflow: hidden;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.04em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.service-card .svc-ico {
    width: 22px;
    height: 22px;
}

.frequent-shortcuts {
    grid-template-columns: 32px minmax(0, 1fr) minmax(0, 1fr) 32px;
    column-gap: 10px;
    min-height: 32px;
    margin: 12px 16px 50px;
}

.frequent-shortcuts__nav {
    width: 32px;
    height: 32px;
}

.frequent-shortcuts__nav img {
    width: 17px;
    height: 17px;
}

.frequent-shortcuts__item {
    min-height: 32px;
    gap: 8px;
    padding: 0;
}

.frequent-shortcuts__item img {
    width: 24px;
    height: 24px;
}

.frequent-shortcuts__item span {
    overflow: hidden;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: -0.04em;
    text-overflow: ellipsis;
}

.benefits {
    margin-top: 0;
    margin-bottom: 0;
    padding-right: 16px;
    padding-left: 16px;
}

.benefits > .sch-mo-benefit-wrap {
    min-height: 197px;
}

.benefits > .sch-mo-benefit-wrap .cont-wrap {
    padding: 65px 16px 11px !important;
}

.benefits > .sch-mo-benefit-wrap .mo-main-bn-wrap {
    grid-auto-rows: 56px;
    gap: 8px;
    padding: 0 5px;
}

.benefits > .sch-mo-benefit-wrap .mo-main-bn-wrap .bn-card {
    min-height: 56px;
    padding: 0 10px;
    border-radius: 14px;
}

.benefits > .sch-mo-benefit-wrap .mo-main-bn-wrap .bn-card .tit {
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: -0.04em;
}

.lifeguide-panel {
    margin: 0 16px 18px;
    padding: 8px 20px 10px;
}

.lifeguide-panel::before {
    width: 358px;
    background-size: 358px 80px;
}

.lifeguide-panel > .tit-area {
    margin: 0 0 -10px;
    padding-left: 0;
}

.lifeguide-panel > .tit-area .btn-txt {
    margin: 10px 0;
}

.lifeguide-panel > .tit-area .tit {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
}

.lifeguide-panel > .tit-area .iconset.ico-arr-right {
    right: 0;
    width: 17px;
    height: 17px;
}

.lifeguide-panel .hor-scroll-wrap {
    margin-right: -20px;
    margin-left: -20px;
    padding: 20px 0 0;
}

.lifeguide-panel .btn-tab {
    gap: 0;
}

.lifeguide-panel .btn-tab .tab {
    min-width: 59.333px;
    gap: 8px;
    font-size: 12px;
    line-height: 1.25;
}

.lifeguide-panel .btn-tab .tab .img-wrap,
.lifeguide-panel .btn-tab .tab .ico-main-life {
    width: 44px;
    height: 44px;
}

.lifeguide-panel .btn-tab .tab.is-active .img-wrap::before {
    inset: -5px;
}

.lifeguide-panel .lifeguide-panels {
    margin-top: 12px;
    margin-bottom: 0;
}

.lifeguide-panel .lifeguide-content .card-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0;
}

.lifeguide-panel .lifeguide-content .card {
    width: 100%;
    min-height: 47px;
    margin: 0;
    padding: 0 16px;
    border-radius: 16px;
    background: #f1f4f8;
}

.lifeguide-panel .lifeguide-content .card::before {
    display: none;
}

.lifeguide-panel .lifeguide-content .card .txt {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.35;
}

.lifeguide-panel .lifeguide-more {
    min-height: 44px;
    margin-top: 0;
    padding: 0;
    font-size: 17px;
    font-weight: 500;
}

.lifeguide-panel .lifeguide-more .arrow {
    width: 17px;
    height: 17px;
}
