:root {
    --ieum-black: #171819;
    --ieum-white: #fefeff;
    --ieum-gray-50: #f5f5f5;
    --ieum-gray-100: #e9e9e9;
    --ieum-gray-200: #dedede;
    --ieum-gray-500: #8f8f8f;
    --ieum-gray-600: #686868;
    --ieum-gray-700: #535353;
    --ieum-gray-800: #3d3d3d;
    --ieum-gray-900: #252525;
    --ieum-green: #2b8a3e;
    --ieum-orange: #f18334;
    --ieum-orange-soft: #ffedcc;
    --ieum-blue: #69a5ff;
    --ieum-blue-soft: #eaeff8;
    --ieum-green-deep: #3a5b4b;
    --ieum-warm-gray: #d1cac9;
    --ieum-brown: #988987;
    --ieum-danger-soft: #ffe3e3;
    --ieum-danger: #e2452b;
}

body {
    font-family: "Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--ieum-white);
    color: var(--ieum-gray-700);
    padding-top: 0;
}

#main {
    padding-top: 106px;
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.9), transparent 26%),
        linear-gradient(180deg, #f5f3ee 0%, #f2efe9 100%);
}

.ieum-home-shell {
    width: 100%;
    max-width: var(--ieum-shell-width);
    margin: 0 auto;
    background: var(--ieum-white);
}

.ieum-home-shell a:hover {
    color: inherit;
}

.sec-hero {
    padding: 20px 20px 0;
}

.sec-hero__swiper {
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
}

.sec-hero__slide {
    display: block;
    width: 100%;
}

.sec-hero__image {
    width: 100%;
    aspect-ratio: 640 / 368;
    object-fit: cover;
    display: block;
}

.sec-hero__pagination {
    bottom: 12px !important;
}

.sec-hero__pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 4px !important;
    background: rgba(254, 254, 255, 0.58);
    opacity: 1;
}

.sec-hero__pagination .swiper-pagination-bullet-active {
    width: 22px;
    border-radius: 999px;
    background: var(--ieum-white);
}

.sec-calc {
    padding: 20px 20px 0;
}

.sec-calc__card {
    min-height: 300px;
    padding: 24px 20px;
    border-radius: 10px;
    background: var(--ieum-white);
    border: 1px solid rgba(233, 233, 233, 0.8);
}

.sec-calc__eyebrow {
    display: inline-block;
    color: var(--ieum-gray-900);
    font-size: 1.3125rem;
    font-weight: 700;
    line-height: 1.3;
}

.sec-calc__saving {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 12px;
    padding: 16px;
    border-radius: 6px;
    background: var(--ieum-gray-50);
}

.sec-calc__saving-icon {
    width: 40px;
    flex-shrink: 0;
}

.sec-calc__saving-icon img {
    width: 100%;
    display: block;
}

.sec-calc__saving p {
    margin: 0;
    color: var(--ieum-gray-700);
    font-size: 0.9375rem;
    line-height: 1.55;
}

.sec-calc__saving strong {
    font-weight: 700;
}

.sec-calc__form {
    margin-top: 24px;
}

.sec-calc__field + .sec-calc__field {
    margin-top: 20px;
}

.sec-calc__label {
    display: block;
    color: var(--ieum-gray-900);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
}

.sec-calc__row {
    display: flex;
    gap: 12px;
    margin-top: 8px;
}

.sec-calc__select {
    width: 100%;
    height: 48px;
    padding: 0 42px 0 16px;
    border: 1px solid var(--ieum-gray-200);
    border-radius: 6px;
    background-color: var(--ieum-gray-50);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23535353' d='m4.2 6.2 3.8 3.8 3.8-3.8 1.1 1.1-4.9 4.9-4.9-4.9z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    color: var(--ieum-gray-700);
    font-size: 1rem;
    font-weight: 500;
    appearance: none;
}

.sec-calc__select:disabled {
    opacity: 0.72;
    cursor: not-allowed;
}

.sec-calc__submit {
    width: 100%;
    height: 52px;
    margin-top: 24px;
    border: none;
    border-radius: 6px;
    background: var(--ieum-orange);
    color: var(--ieum-white);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.sec-calc__submit.is-disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.sec-calc__submit:not(.is-disabled):hover {
    transform: translateY(-1px);
}

.sec-feature {
    padding: 56px 20px 0;
}

.sec-feature__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 20px;
    border-radius: 12px;
    text-align: center;
}

.sec-feature--premium .sec-feature__card {
    background: var(--ieum-orange-soft);
}

.sec-feature--checklist .sec-feature__card {
    background: var(--ieum-blue);
}

.sec-feature--service .sec-feature__card {
    background: var(--ieum-green-deep);
}

.sec-feature--product .sec-feature__card {
    background: var(--ieum-warm-gray);
}

.sec-feature__badge {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--ieum-orange);
    color: var(--ieum-white);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1;
}

.sec-feature__image {
    width: 100%;
    max-height: 166px;
    margin: 12px auto 0;
    object-fit: contain;
}

.sec-feature--checklist .sec-feature__image,
.sec-feature--service .sec-feature__image,
.sec-feature--product .sec-feature__image {
    margin-top: 0;
}

.sec-feature__title {
    width: 100%;
    margin: 16px 0 0;
    color: var(--ieum-gray-900);
    font-size: 1.3125rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -0.02em;
}

.sec-feature--checklist .sec-feature__title,
.sec-feature--service .sec-feature__title {
    color: var(--ieum-white);
}

.sec-feature__desc {
    width: 100%;
    margin: 12px 0 0;
    color: var(--ieum-gray-700);
    font-size: 1rem;
    line-height: 1.55;
}

.sec-feature--checklist .sec-feature__desc,
.sec-feature--service .sec-feature__desc {
    color: rgba(254, 254, 255, 0.92);
}

.sec-feature__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 40px;
    margin-top: 20px;
    border-radius: 6px;
    background: var(--ieum-white);
    color: var(--ieum-gray-900);
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1;
}

.sec-reviews {
    margin-top: 50px;
    padding: 56px 20px 50px;
    background: var(--ieum-gray-50);
}

.sec-reviews__inner {
    max-width: 440px;
    margin: 0 auto;
}

.sec-reviews__title {
    margin: 0;
    color: var(--ieum-gray-900);
    font-size: 1.3125rem;
    font-weight: 700;
    line-height: 1.35;
}

.sec-reviews__filters {
    display: flex;
    gap: 8px;
    margin-top: 20px;
    overflow-x: auto;
    scrollbar-width: none;
}

.sec-reviews__filters::-webkit-scrollbar {
    display: none;
}

.sec-reviews__chip {
    flex-shrink: 0;
    height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    background: var(--ieum-black);
    color: var(--ieum-white);
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1;
    opacity: 0.45;
}

.sec-reviews__chip.is-active {
    opacity: 1;
}

.sec-reviews__cards {
    margin-top: 20px;
}

.sec-reviews__card {
    display: none;
    overflow: hidden;
    border-radius: 12px;
    background: var(--ieum-white);
    text-decoration: none;
    color: inherit;
    box-shadow: 0 1px 0 rgba(222, 222, 222, 0.9);
}

.sec-reviews__card.is-active {
    display: block;
}

.sec-reviews__excerpt {
    padding: 24px 24px 0;
    color: var(--ieum-gray-900);
    font-size: 0.9375rem;
    line-height: 1.7;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
}

.sec-reviews__meta {
    padding: 12px 24px 24px;
    color: var(--ieum-gray-600);
    font-size: 0.8125rem;
    line-height: 1.4;
}

.sec-reviews__more {
    padding: 16px 24px;
    border-top: 1px solid var(--ieum-gray-100);
    color: var(--ieum-gray-700);
    font-size: 0.9375rem;
    text-align: center;
}

.sec-reviews__all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 44px;
    margin-top: 20px;
    border-radius: 6px;
    background: var(--ieum-white);
    color: var(--ieum-gray-900);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;
}

.sec-guide,
.sec-membership,
.sec-promise {
    padding: 56px 20px 0;
}

.sec-guide__section-title,
.sec-membership__heading,
.sec-promise__title {
    color: var(--ieum-gray-900);
    font-size: 1.3125rem;
    font-weight: 700;
    line-height: 1.35;
}

.sec-guide__card,
.sec-membership__card {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 20px 24px;
    border-radius: 12px;
    background: var(--ieum-gray-50);
    text-decoration: none;
}

.sec-guide__card + .sec-guide__card {
    margin-top: 16px;
}

.sec-guide__card:first-of-type,
.sec-membership__card {
    margin-top: 20px;
}

.sec-guide__icon,
.sec-membership__icon {
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.sec-guide__title,
.sec-membership__title {
    margin-top: 16px;
    color: var(--ieum-gray-900);
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.5;
}

.sec-guide__label,
.sec-membership__label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 8px;
    color: var(--ieum-gray-700);
    font-size: 0.9375rem;
    line-height: 1.4;
}

.sec-guide__label::after,
.sec-membership__label::after,
.ieum-footer__cta-copy span::after {
    content: "";
    width: 16px;
    height: 16px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M11.078 14.007a.833.833 0 0 1-1.18 0L4.358 8.467a.667.667 0 0 1 0-.94l5.54-5.54a.834.834 0 0 1 1.18 1.18L6.252 8l4.833 4.833a.833.833 0 0 1-.007 1.174Z'/%3E%3C/svg%3E") center / contain no-repeat;
    transform: rotate(180deg);
}

.sec-membership__heading {
    max-width: 280px;
}

.sec-promise__desc {
    margin: 8px 0 0;
    color: var(--ieum-gray-700);
    font-size: 1rem;
    line-height: 1.6;
}

.sec-promise__list {
    margin-top: 20px;
}

.sec-promise__item {
    padding: 20px 24px;
    border-radius: 12px;
    background: var(--ieum-gray-50);
}

.sec-promise__item + .sec-promise__item {
    margin-top: 12px;
}

.sec-promise__item h3 {
    margin: 0;
    color: var(--ieum-gray-900);
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.45;
}

.sec-promise__item p {
    margin: 8px 0 0;
    color: var(--ieum-gray-700);
    font-size: 0.9375rem;
    line-height: 1.65;
}

.sec-promise__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 46px;
    margin-top: 20px;
    border: 1px solid var(--ieum-gray-100);
    border-radius: 12px;
    background: var(--ieum-white);
    color: var(--ieum-gray-900);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;
}

.sec-consult {
    padding: 56px 20px 0;
}

.sec-consult__card {
    padding: 24px;
    border-radius: 12px;
    background: var(--ieum-blue-soft);
}

.sec-consult__icon {
    width: 48px;
    object-fit: contain;
}

.sec-consult__card h2 {
    margin: 8px 0 0;
    color: #315c9f;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.55;
}

.sec-consult__actions {
    display: flex;
    gap: 6px;
    margin-top: 22px;
}

.sec-consult__button {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    border-radius: 8px;
    background: var(--ieum-white);
    color: var(--ieum-gray-900);
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1;
}

[data-home-animate] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

[data-home-animate].is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (min-width: 1024px) {
    #main {
        padding-top: 64px;
    }
}

@media (max-width: 767px) {
    #main {
        padding-top: 0;
    }

    .sec-calc__row {
        gap: 8px;
    }

    .sec-consult__actions {
        flex-direction: column;
    }
}

@media (max-width: 420px) {
    .sec-hero,
    .sec-calc,
    .sec-feature,
    .sec-guide,
    .sec-membership,
    .sec-promise,
    .sec-consult {
        padding-left: 16px;
        padding-right: 16px;
    }

    .sec-calc__card,
    .sec-feature__card,
    .sec-guide__card,
    .sec-membership__card,
    .sec-consult__card {
        padding-left: 18px;
        padding-right: 18px;
    }

    .sec-calc__row {
        flex-direction: column;
    }
}
