@charset "utf-8";

.geum-page {
    overflow: hidden;
    background: #fffdf7;
}

.geum-container {
    width: min(1280px, calc(100% - 48px));
    margin: 0 auto;
}

/* 메인 비주얼 */
.geum-hero {
    position: relative;
    min-height: 680px;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 18%, rgba(255, 246, 183, 0.75) 0, rgba(255, 246, 183, 0) 34%),
        linear-gradient(180deg, #fffdf7 0%, #fffaf0 100%);
    border-bottom: 1px solid #f1dfd2;
}

.geum-hero::after {
    content: "";
    position: absolute;
    left: -5%;
    right: -5%;
    bottom: -90px;
    height: 160px;
    border-radius: 50% 50% 0 0;
    background: #dcecb8;
}

.geum-hero__inner {
    position: relative;
    z-index: 3;
    min-height: 680px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 92px 0 125px;
    text-align: center;
}

.geum-hero__eyebrow {
	font-family: 'JejuStoneWall';
    margin-bottom: 28px;
    font-size: 40px;
    color: #494949;
}

.geum-hero__title {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.geum-hero__title-image {
    width: min(520px, 56vw);
    max-height: 230px;
	margin-bottom: 15px;
    object-fit: contain;
}

.geum-hero__art--class {
    width: min(700px, 56vw);
    max-height: 230px;
    object-fit: contain;
}

.geum-hero__description {
    margin-top: 28px;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.65;
    color: #51443c;
}

.geum-hero__tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 26px;
}

.geum-hero__tags span {
    padding: 10px 16px;
    border: 1px solid rgba(61, 56, 52, 0.16);
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    color: #51443c;
    background: rgba(255, 255, 255, 0.78);
    backdrop-filter: blur(7px);
}

.geum-hero__decor,
.geum-visual-decor {
    position: absolute;
}

.geum-hero__decor {
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.geum-visual-decor {
    object-fit: contain;
    user-select: none;
}

.geum-visual-decor--01 {
    left: 3%;
    top: 31%;
    width: 210px;
    transform: rotate(0deg);
}

.geum-visual-decor--02 {
    right: 8%;
    top: 21%;
    width: 190px;
    transform: rotate(29deg);
}

.geum-visual-decor--03 {
    left: 13%;
    top: 6%;
    width: 150px;
    transform: rotate(-28deg);
}

.geum-visual-decor--04 {
    right: 14%;
    bottom: 1%;
    width: 240px;
}

.geum-visual-decor--05 {
    left: 22%;
    bottom: 1%;
    width: 105px;
}

.geum-visual-decor--06 {
    right: 20%;
    top: 7%;
    width: 54px;
    transform: rotate(-52deg);
}

.geum-visual-decor--07 {
    left: 2%;
    bottom: 2%;
    width: 160px;
}

.geum-visual-decor--08 {
    right: 1%;
    bottom: 11%;
    width: 140px;
}

.geum-visual-decor--09 {
    left: 27%;
    top: 6%;
    width: 58px;
}

.geum-visual-decor--10 {
    left: 11%;
    bottom: 12%;
    width: 150px;
    transform: rotate(8deg);
}

.geum-visual-decor--11 {
    right: 27%;
    bottom: 4%;
    width: 110px;
}

.geum-visual-decor--12 {
    right: 2%;
    top: 3%;
    width: 96px;
}

.geum-visual-decor--13 {
	left: 17%;
    top: 35%;
    width: 82px;
}

.geum-visual-decor--14 {
    right: 9%;
    bottom: 28%;
    width: 100px;
}

.geum-visual-decor--15 {
    left: 2%;
    top: 5%;
    width: 130px;
}

.geum-visual-decor--16 {
    right: 35%;
    top: 7%;
    width: 58px;
}

.geum-visual-decor--17 {
    right: -60px;
    bottom: 45%;
    width: 180px;
    transform: rotate(-92deg);
}

.geum-visual-decor--18 {
    right: 10%;
    bottom: 1%;
    width: 240px;
}

.twinkle-- {
	position: absolute; 
}

.twinkle--1 {
    left: 10%;
    top: 6%;
    width: 30px;
}
.twinkle--2 {
    right: 21%;
    top: 61%;
    width: 27px;
    transform: rotate(-55deg);
}
.twinkle--3 {
    left: 15%;
    top: 50%;
    width: 19px;
    transform: rotate(-26deg);
}
.twinkle--4 {
    right: 11%;
    top: 10%;
    width: 20px;
    transform: rotate(15deg);
}
.twinkle--5 {
    left: 21%;
    bottom: 11%;
    width: 29px;
    transform: rotate(74deg);
}
.twinkle--6 {
    right: 11%;
    bottom: 5%;
    width: 20px;
    transform: rotate(15deg);
}

/* 신청 카드 */
.geum-apply {
    position: relative;
    z-index: 4;
    padding: 70px 0 92px;
    background: #fffdf7;
}

.geum-apply__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.geum-apply-card {
    min-width: 0;
    /* border: 1px solid; */
    box-shadow: 0 16px 36px rgba(62, 45, 37, 0.1);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.geum-apply-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 45px rgba(62, 45, 37, 0.14);
}

.geum-apply-card--pink {
    border-color: rgba(239, 47, 145, 0.35);
    background: linear-gradient(135deg, #fff7fb 0%, #ffffff 100%);
}

.geum-apply-card--mint {
    border-color: rgba(52, 184, 184, 0.4);
    background: linear-gradient(135deg, #f1ffff 0%, #ffffff 100%);
}

.geum-apply-card__link {
    min-height: 156px;
    display: grid;
    grid-template-columns: 74px 1fr 44px;
    align-items: center;
    gap: 20px;
    padding: 28px 30px;
}

.geum-apply-card__icon {
    width: 74px;
    height: 74px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 22px;
    background: #ffffff;
    /* box-shadow: 0 8px 20px rgba(72, 54, 43, 0.09); */
}

.geum-apply-card__icon img {
    width: 52px;
    height: 52px;
    object-fit: contain;
}

.geum-apply-card__text {
    min-width: 0;
}

.geum-apply-card__text strong {
    display: block;
    margin-bottom: 8px;
    font-size: 28px;
    font-weight: 600;
	line-height: 1.4;
	font-family: 'JejuStoneWall';
}

.geum-apply-card--pink .geum-apply-card__text strong {
    color: #ef2f91;
}

.geum-apply-card--mint .geum-apply-card__text strong {
    color: #22aeb2;
}

.geum-apply-card__text small {
    display: block;
    font-size: 16px;
    line-height: 1.4;
    color: #6c625d;
}

.geum-apply-card__arrow {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 20px;
    color: #ffffff;
}

.geum-apply-card--pink .geum-apply-card__arrow {
    background: #ef2f91;
}

.geum-apply-card--mint .geum-apply-card__arrow {
    background: #34b8b8;
}

.geum-catalog {
    position: relative;
    min-height: 106px;
    display: grid;
    grid-template-columns: auto 1fr 52px;
    align-items: center;
    gap: 22px;
    margin-top: 52px;
    padding: 26px 32px;
    overflow: hidden;
    color: #ffffff;
    background: #353b3b;
}

.geum-catalog::before {
    content: "";
    position: absolute;
    right: 7%;
    top: -70px;
    width: 170px;
    height: 170px;
    border-radius: 42% 58% 55% 45%;
    background: #34b8b8;
    transform: rotate(28deg);
    opacity: 0.68;
}

.geum-catalog::after {
    content: "";
    position: absolute;
    right: 20%;
    bottom: -90px;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: #f8e767;
    opacity: 0.75;
}

.geum-catalog__label,
.geum-catalog strong,
.geum-catalog__arrow {
    position: relative;
    z-index: 1;
}

.geum-catalog__label {
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.geum-catalog strong {
    font-size: 25px;
    font-weight: 400;
	line-height: 1.4;
	font-family: 'JejuStoneWall';
}

.geum-catalog__arrow {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: end;
    border-radius: 50%;
    font-size: 24px;
    background: #ef2f91;
}

/* 쿠폰 안내 */
.geum-guide {
    position: relative;
    padding: 110px 0 120px;
    background: #eef5d8;
}

.geum-guide::before,
.geum-guide::after {
    content: "";
    position: absolute;
    width: 90px;
    height: 90px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0.7;
}

.geum-guide::before {
    left: 3%;
    top: 60px;
    background-image: url('/public/assets/img/geumho/main/visual-decor-16.png');
}

.geum-guide::after {
    right: 4%;
    bottom: 80px;
    background-image: url('/public/assets/img/geumho/main/visual-decor-09.png');
}

.geum-section-heading {
    max-width: 840px;
    margin: 0 auto 52px;
    text-align: center;
}

.geum-section-heading__eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: #22aeb2;
}

.geum-section-heading h2 {
	font-size: 52px;
}
.geum-section-heading h2 span {
	display: block;
}
.geum-section-heading h2 .line_ {
	font-family: 'JejuStoneWall';
	font-weight: 400;
    color: #3c342f;
    line-height: 1.4;
}

.geum-section-heading p {
    margin-top: 20px;
    font-size: 17px;
    line-height: 1.75;
    color: #635851;
}

.geum-section-heading p strong {
    color: #ef2f91;
}

.geum-guide__steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.geum-guide-card {
    position: relative;
    min-height: 350px;
    padding: 34px 30px 30px;
    border: 1px solid rgba(73, 62, 53, 0.1);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 18px 45px rgba(86, 96, 56, 0.12);
}

.geum-guide-card::after {
    content: "";
    position: absolute;
    right: 22px;
    top: 24px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #f8e767;
}

.geum-guide-card:nth-child(2)::after {
    background: #51c3c4;
}

.geum-guide-card:nth-child(3)::after {
    background: #ef7db1;
}

.geum-guide-card__number {
    display: block;
    margin-bottom: 30px;
    font-size: 50px;
    line-height: 1;
    color: #ef2f91;
	font-family: 'JejuStoneWall';
}

.geum-guide-card__content {
	display: flex;
	flex-direction: column;
    height: 70%;
    justify-content: space-between;
}

.geum-guide-card:nth-child(2) .geum-guide-card__number {
    color: #22aeb2;
}

.geum-guide-card:nth-child(3) .geum-guide-card__number {
    color: #dd746f;
}

.geum-guide-card h3 {
    min-height: 56px;
    font-size: 24px;
    line-height: 1.4;
    color: #3c342f;
	font-family: 'JejuStoneWall';
}

.geum-guide-card p {
    margin-top: 12px;
    font-size: 16px;
    line-height: 1.45;
    color: #6d625b;
}

.geum-guide-card address {
    margin-top: 20px;
    padding: 14px 18px;
    border-radius: 16px;
    font-size: 16px;
    text-align: center;
    font-weight: 500;
    line-height: 1.45;
    color: #5d4f47;
    background: #fff6d9;
}

.geum-guide-card__button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    margin-top: 24px;
    padding: 14px 18px;
    border-radius: 10px;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.45;
    color: #ffffff;
    background: #ef2f91;
    transition: transform 0.2s ease, filter 0.2s ease;
}

.geum-guide-card:nth-child(2) .geum-guide-card__button {
    background: #22aeb2;
}

.geum-guide-card__button:hover {
    transform: translateY(-2px);
    filter: brightness(0.95);
}

/* 프로그램 이미지 */
.geum-program {
    position: relative;
    padding: 112px 0 100px;
    background:
        linear-gradient(90deg, rgba(247, 232, 103, 0.16) 1px, transparent 1px),
        linear-gradient(rgba(247, 232, 103, 0.16) 1px, transparent 1px),
        #fffdf7;
    background-size: 32px 32px;
}

.geum-program__title {
    margin-bottom: 38px;
    text-align: center;

    max-width: 840px;
    margin: 0 auto 52px;
    text-align: center;
}

.geum-program__title span {
    display: block;
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    color: #22aeb2;
}

.geum-program__title h2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 68px;
    padding: 8px 44px 12px;
    border-radius: 999px;
    font-size: 46px;
    font-weight: normal;
    color: #ffffff;
    background: #ef2f91;
    box-shadow: 0 12px 28px rgba(239, 47, 145, 0.22);
	font-family: 'JejuStoneWall';
	font-weight: 400;
}

.geum-program__frame {
    position: relative;
    width: min(1080px, 100%);
    margin: 0 auto;
    padding: 32px;
    border: 1px solid rgba(74, 61, 53, 0.1);
    /* border-radius: 34px; */
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 24px 70px rgba(67, 54, 46, 0.14);
}

.geum-program__frame::before,
.geum-program__frame::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 110px;
    height: 110px;
    border-radius: 38% 62% 54% 46%;
}

.geum-program__frame::before {
    left: -54px;
    top: 90px;
    background: #f8e767;
    transform: rotate(18deg);
}

.geum-program__frame::after {
    right: -48px;
    bottom: 120px;
    background: #50c1c3;
    transform: rotate(-18deg);
}

.geum-program__image-list {
    overflow: hidden;
    background: #fbf6ea;
}

.geum-program__image-list img {
    display: block;
    width: 100%;
    height: auto;
}

.geum-program__address {
    width: min(1080px, 100%);
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin: 54px auto 0;
    padding: 22px 26px;
    border: 1px solid rgba(239, 47, 145, 0.2);
    border-radius: 18px;
    background: #ffffff;
}

.geum-program__address-icon {
    color: #ef2f91;
}

.geum-program__address strong {
    display: block;
    margin-bottom: 5px;
    font-size: 18px;
    color: #ef2f91;
}

.geum-program__address p {
    font-size: 16px;
    line-height: 1.6;
    color: #5d5048;
}

/* 하단 CTA */
.geum-bottom-cta {
    position: relative;
    overflow: hidden;
    padding: 86px 0;
    background: #373b3b;
}

.geum-bottom-cta__inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.geum-bottom-cta__text span {
    display: block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    color: #50c1c3;
}

.geum-bottom-cta__text h2 {
    font-size: 46px;
	line-height: 1.4;
    font-family: 'JejuStoneWall';
    font-weight: 400;
    color: #ffffff;
}

.geum-bottom-cta__text p {
    margin-top: 12px;
    font-size: 17px;
    color: rgba(255, 255, 255, 0.72);
}

.geum-bottom-cta__button {
    min-width: 350px;
    min-height: 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 15px 30px;
    border-radius: 999px;
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    background: #ef2f91;
    box-shadow: 0 16px 38px rgba(239, 47, 145, 0.28);
    transition: transform 0.2s ease, background 0.2s ease;
}

.geum-bottom-cta__button:hover {
    transform: translateY(-3px);
    background: #dc1e7f;
}

.geum-bottom-cta__button span {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #ef2f91;
    background: #ffffff;
}

.geum-bottom-cta__decor-item {
    position: absolute;
    pointer-events: none;
    opacity: 0.9;
}

.geum-bottom-cta__decor-item--01 {
    left: 2%;
    top: -20px;
    width: 150px;
}

.geum-bottom-cta__decor-item--02 {
    right: 2%;
    top: 5px;
    width: 90px;
}

.geum-bottom-cta__decor-item--03 {
    right: 8%;
    bottom: -40px;
    width: 130px;
}

.geum-footer {
    padding: 28px 0 34px;
    color: #4d4641;
    background: #f4ecd9;
}

.geum-footer__inner {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 32px;
}

.geum-footer__item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.geum-footer__item span {
    flex: 0 0 auto;
    padding: 5px 20px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    background: #ef2f91;
}

.geum-footer__item:nth-child(2) span {
    background: #22aeb2;
}

.geum-footer__item p {
    padding-top: 6px;
    font-size: 15px;
    line-height: 1.4;
}

/* 태블릿 */
@media (max-width: 1280px) {
	.geum-visual-decor--01 { width: 150px; }
	.geum-visual-decor--02 { width: 100px; }
	.geum-visual-decor--03 { width: 110px; }
	.geum-visual-decor--04 { width: 190px; }
	.geum-visual-decor--06 {
	    top: 37%;
		width: 34px;
	}
	.geum-visual-decor--07 {
	    width: 110px;
	}
	.geum-visual-decor--08 { width: 100px; }
	.geum-visual-decor--09 {
	    top: 3%;
		width: 38px;
	}
	.geum-visual-decor--10 {
	    left: 14%;
		bottom: 16%;
		width: 100px;
	}
	.geum-visual-decor--11 {
		right: 37%;
		bottom: 5%;
		width: 90px;
	}
	.geum-visual-decor--12 { width: 66px; }
	.geum-visual-decor--13 {
	    left: 21%;
		width: 62px;
	}
	.geum-visual-decor--14 { width: 60px; }
	.geum-visual-decor--15 { width: 90px; }
	.geum-visual-decor--16 {
	    right: 26%;
		top: 3%;
		width: 48px;
	}
	.geum-visual-decor--17 { width: 150px; }
	.geum-visual-decor--18 { width: 190px; }
}

@media (max-width: 1024px) {
    .geum-container {
        width: min(100% - 40px, 940px);
    }

    .geum-hero {
        min-height: 610px;
    }

    .geum-hero__inner {
        min-height: 610px;
        padding-top: 80px;
    }

    .geum-visual-decor--01,
    .geum-visual-decor--02,
    .geum-visual-decor--17,
    .geum-visual-decor--18 {
        transform: scale(0.82);
    }

    .geum-guide-card {
        min-height: auto;
        /* display: grid; */
        grid-template-columns: 120px 1fr;
        gap: 12px;
    }
	.geum-guide-card__content { display: block; }

    .geum-guide-card h3 {
        min-height: 0;
    }

    .geum-guide-card__number {
        margin: 0;
    }
	.geum-guide__steps {
	    grid-template-columns: auto;
	}
}

/* 모바일 */
@media (max-width: 767px) {
    .geum-container {
        width: calc(100% - 32px);
    }

    .geum-hero {
        min-height: 650px;
    }

    .geum-hero::after {
        bottom: -65px;
        height: 120px;
    }

    .geum-hero__inner {
        min-height: 650px;
        padding: 70px 0 108px;
    }

    .geum-hero__eyebrow {
        margin-bottom: 14px;
        font-size: 21px;
    }

    .geum-hero__title-image {
        width: 270px;
        max-height: 110px;
    }

    .geum-hero__description {
        margin-top: 24px;
        font-size: 16px;
        line-height: 1.65;
    }

    .geum-hero__tags {
        gap: 7px;
        margin-top: 20px;
    }

    .geum-hero__tags span {
        padding: 5px 10px;
        font-size: 13px;
    }

    .geum-visual-decor--01 {
        left: -36px;
        top: 27%;
        width: 120px;
    }

    .geum-visual-decor--02 {
        right: -4px;
        top: 26%;
        width: 75px;
    }

    .geum-visual-decor--03 {
        left: 14%;
        top: 5%;
        width: 55px;
    }

    .geum-visual-decor--04 {
        right: -26px;
        bottom: 4%;
        width: 145px;
    }

    .geum-visual-decor--05 {
        left: 14%;
        bottom: 20%;
        width: 49px;
    }

    .geum-visual-decor--06 {
        right: 18%;
        top: 5%;
        width: 18px;
    }

    .geum-visual-decor--07 {
        left: -48px;
        bottom: 20px;
        width: 100px;
    }

    .geum-visual-decor--08 {
        right: -22px;
        bottom: 20%;
        width: 88px;
    }

    .geum-visual-decor--09 {
        left: 29%;
        top: 4%;
        width: 34px;
    }

    .geum-visual-decor--10 {
        left: -54px;
        bottom: 3%;
        width: 58px;
    }

    .geum-visual-decor--11 {
        right: 22%;
        bottom: 3%;
        width: 68px;
    }

    .geum-visual-decor--12 {
        right: 2%;
        top: 2%;
        width: 26px;
    }

    .geum-visual-decor--13 {
        left: 18%;
        top: 18%;
        width: 48px;
    }

    .geum-visual-decor--14 {
        right: 5%;
        bottom: 32%;
        width: 46px;
    }

    .geum-visual-decor--15 {
        left: -10px;
        top: 4%;
        width: 48px;
    }

    .geum-visual-decor--16 {
        right: 33%;
        top: 7%;
        width: 40px;
    }

    .geum-visual-decor--17 {
        right: -48px;
        top: 38%;
        width: 120px;
    }

    .geum-visual-decor--18 {
        right: -38px;
        top: 53%;
        width: 90px;
        transform: rotate(-92deg);
    }

    .geum-apply {
        padding: 52px 0 72px;
    }

    .geum-apply__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .geum-apply-card {
        border-radius: 20px;
    }

    .geum-apply-card__link {
        min-height: 126px;
        grid-template-columns: 60px 1fr 34px;
        gap: 14px;
        padding: 22px 18px;
    }

    .geum-apply-card__icon {
        width: 60px;
        height: 60px;
        border-radius: 18px;
    }

    .geum-apply-card__icon img {
        width: 42px;
        height: 42px;
    }

    .geum-apply-card__text strong {
        font-size: 22px;
    }

    .geum-apply-card__text small {
        font-size: 15px;
    }

    .geum-apply-card__arrow {
        width: 32px;
        height: 32px;
        font-size: 16px;
    }

    .geum-catalog {
        min-height: 120px;
        grid-template-columns: 1fr 40px;
        gap: 12px;
        padding: 24px 20px;
        border-radius: 20px;
    }

    .geum-catalog__label {
        grid-column: 1 / -1;
        justify-self: start;
        font-size: 10px;
    }

    .geum-catalog strong {
        font-size: 21px;
    }

    .geum-catalog__arrow {
        width: 38px;
        height: 38px;
        font-size: 20px;
    }

    .geum-guide {
        padding: 80px 0 88px;
    }

    .geum-section-heading {
        margin-bottom: 38px;
    }

    .geum-section-heading h2 {
        font-size: 38px;
    }

    .geum-section-heading p {
        margin-top: 16px;
        font-size: 15px;
        text-align: left;
		word-break: keep-all;
    }
	.geum-section-heading p br { display: none; }

    .geum-guide-card {
        display: block;
        min-height: 0;
        padding: 28px 22px 24px;
        border-radius: 22px;
    }

    .geum-guide-card__number {
        margin-bottom: 20px;
        font-size: 56px;
    }

    .geum-guide-card h3 {
        font-size: 21px;
    }

    .geum-program {
        padding: 82px 0 88px;
        background-size: 24px 24px;
    }

    .geum-program__title {
        margin-bottom: 26px;
    }

    .geum-program__title h2 {
        min-height: 56px;
        padding: 8px 30px 10px;
        font-size: 38px;
    }

    .geum-program__frame {
        width: 100%;
        padding: 10px;
        border-radius: 22px;
    }

    .geum-program__frame::before,
    .geum-program__frame::after {
        display: none;
    }

    .geum-program__address {
        padding: 18px;
        border-radius: 16px;
    }

	.geum-program__address strong {
		font-size: 17px;
	}
    .geum-program__address p {
        font-size: 15px;
    }

    .geum-bottom-cta {
        padding: 70px 0;
    }

    .geum-bottom-cta__inner {
        flex-direction: column;
        align-items: stretch;
        gap: 28px;
        text-align: center;
    }

    .geum-bottom-cta__text h2 {
        font-size: 38px;
    }

    .geum-bottom-cta__text p {
        font-size: 16px;
        line-height: 1.6;
    }

    .geum-bottom-cta__button {
        min-width: 0;
        min-height: 66px;
        width: 100%;
        padding: 16px 20px;
        font-size: 18px;
    }

    .geum-footer {
        padding: 26px 0;
    }

    .geum-footer__inner {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .geum-footer__item {
        display: block;
    }

    .geum-footer__item span {
        display: inline-block;
        margin-bottom: 8px;
    }
}

@media (max-width: 578px) {
	.geum-catalog__label {
		padding: 3px 12px;
	}
	.geum-section-heading h2 {
		font-size: 28px;
	}
	.geum-guide::before {
	    width: 60px;
		height: 50px;
		left: 3%;
	}
	.geum-guide::after {
		width: 60px;
		height: 40px;
		right: 4%;
		bottom: 40px;
	}
	.geum-program__title h2 {
		font-size: 28px;
		min-height: 50px;
        padding: 4px 30px 6px;
	}
	.geum-bottom-cta__text h2 {
		font-size: 28px;
	}
	.geum-bottom-cta__button {
	    min-height: 55px;
		padding: 0 20px;
		font-size: 17px;
	}
}

@media (max-width: 420px) {
    .geum-container {
        width: calc(100% - 24px);
    }

    .geum-hero__title-image {
        width: 245px;
    }

    .geum-hero__description br {
        display: none;
    }
}


/* 팝업 */

	.geum-popup {
		position: fixed;
		inset: 0;
		z-index: 9999;
		display: none;
		align-items: center;
		justify-content: center;
		padding: 20px;
		background: rgba(0, 0, 0, 0.4);
		box-sizing: border-box;
	}

	.geum-popup__box {
		display: flex;
		flex-direction: column;
		width: min(600px, calc(100vw - 40px));
		max-height: calc(100vh - 40px);
		overflow: hidden;
		background: #fff;
		box-sizing: border-box;
	}
	/* 포스터 영역 */
	.geum-popup__content {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 0;
		overflow: hidden;
		background: #fff;
		border-bottom: 2px solid #ddd;
	}

	.geum-popup__poster {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 0;
		cursor: pointer;
	}

	.geum-popup__poster img {
		display: block;
		width: 100%;
		height: auto;
		max-height: calc(100vh - 165px);
		object-fit: contain;
		padding: 20px;
	}

	/* 전시회 도록 버튼 영역 */
	.geum-popup__catalog {
		flex-shrink: 0;
		padding: 12px 14px;
		background: #fff;
		box-sizing: border-box;
	}

	.geum-popup__catalog-button {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		width: 100%;
		height: 50px;
		background: #222;
		font-size: 17px;
		font-weight: 700;
		color: #fff;
		text-decoration: none;
		box-sizing: border-box;
		transition:
			background-color 0.2s ease,
			color 0.2s ease;
	}

	.geum-popup__catalog-button:hover {
		background: #444;
		color: #fff;
	}

	.geum-popup__catalog-button span:last-child {
		font-size: 18px;
		font-weight: 400;
	}
	.geum-popup__footer {
	    display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 2px 10px 10px;
	}
	.geum-popup__footer label:hover { cursor: pointer; font-weight: 600; }
	.geum-popup__footer button:hover { cursor: pointer; font-weight: 600; }
	.geum-popup__box {
		position: relative;
	}

	.geum-popup__content {
		position: relative;
		z-index: 1;
	}

	.geum-popup__catalog {
		position: relative;
		z-index: 2;
	}

	.geum-popup__footer {
		position: relative;
		z-index: 10;
		pointer-events: auto;
	}

	.geum-popup__close {
		position: relative;
		z-index: 11;
		pointer-events: auto;
		cursor: pointer;
	}

	/* 모바일 */
	@media all and (max-width: 768px) {
		.geum-popup {
			padding: 12px;
		}

		.geum-popup__box {
			width: min(360px, calc(100vw - 24px));
			max-height: calc(100vh - 24px);
		}
		.geum-popup__poster img {
			max-height: calc(100vh - 145px);
		}

		.geum-popup__catalog {
			padding: 8px 10px;
		}

		.geum-popup__catalog-button {
			height: 44px;
			font-size: 15px;
		}
	}


	/* =========================================================
   금호이웃사촌마을 VIP 쿠폰 이벤트 4단계 안내
========================================================= */

.geum-flow-section {
	position: relative;
	overflow: hidden;
	padding: 110px 24px 90px;
	background:
		radial-gradient(circle at 50% 45%, rgba(255, 255, 255, 0.62) 0, rgba(255, 255, 255, 0) 46%),
		#f1f7dc;
}

/* 배경 장식 */
/* .geum-flow-section::before,
.geum-flow-section::after {
	content: "";
	position: absolute;
	z-index: 0;
	border-radius: 45% 55% 60% 40%;
	opacity: 0.9;
	pointer-events: none;
} */

.geum-flow-section::before {
	top: 65px;
	left: 65px;
	width: 54px;
	height: 54px;
	background: #55c5c7;
	box-shadow:
		-7px -12px 0 -23px #55c5c7,
		21px -9px 0 -23px #55c5c7,
		28px 12px 0 -23px #55c5c7,
		8px 28px 0 -23px #55c5c7,
		-17px 25px 0 -23px #55c5c7,
		-26px 3px 0 -23px #55c5c7;
}

.geum-flow-section::after {
	right: 80px;
	bottom: 54px;
	width: 72px;
	height: 32px;
	background: #ed368e;
	transform: rotate(-8deg);
}

.geum-flow-container {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
}

/* 제목 */
.geum-flow-heading {
	margin-bottom: 62px;
	text-align: center;
}

.geum-flow-heading__eyebrow {
	display: block;
	margin-bottom: 22px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #16aeb2;
}

.geum-flow-heading__title {
	margin: 0;
	font-size: clamp(38px, 4vw, 58px);
	font-weight: 400;
	line-height: 1.22;
	letter-spacing: -0.035em;
	color: #38312f;
	word-break: keep-all;
	font-family: 'JejuStoneWall';
}

.geum-flow-heading__title span,
.geum-flow-heading__title strong {
	display: block;
}

.geum-flow-heading__title strong {
	margin-top: 4px;
	font-weight: 400;
	color: #38312f;
}

.geum-flow-heading__title strong::first-letter {
	color: inherit;
}

.geum-flow-heading__description {
	margin: 23px 0 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: -0.025em;
	color: #5e5752;
	word-break: keep-all;
}

/* 단계 전체 */
.geum-flow-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	padding: 42px 16px;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(70, 84, 48, 0.08);
	box-shadow: 0 22px 48px rgba(87, 99, 59, 0.12);
	list-style: none;
	border-radius: 4px;
}

.geum-flow-step {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 0 30px;
}

/* 카드 사이 구분선 */
.geum-flow-step + .geum-flow-step {
	border-left: 1px dashed #d4dcc0;
}

/* 단계 사이 화살표 */
.geum-flow-step:not(:last-child)::after {
	content: "›";
	position: absolute;
	z-index: 2;
	top: 88px;
	right: -15px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	background: #fff;
	border: 1px solid #dce2ce;
	border-radius: 50%;
	box-shadow: 0 4px 10px rgba(65, 73, 48, 0.09);
	font-size: 26px;
	font-weight: 400;
	line-height: 1;
	color: #a8b193;
}

/* 번호 */
.geum-flow-step__top {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 26px;
}

.geum-flow-step__number {
	display: block;
	font-size: 48px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.045em;
	font-family: 'JejuStoneWall';
}

.geum-flow-step__dot {
	display: block;
	width: 18px;
	height: 18px;
	border-radius: 50%;
}

/* 단계별 색상 */
.geum-flow-step--instagram .geum-flow-step__number {
	color: #ef2788;
}

.geum-flow-step--instagram .geum-flow-step__dot {
	background: #f4d84d;
}

.geum-flow-step--survey .geum-flow-step__number {
	color: #18aeb3;
}

.geum-flow-step--survey .geum-flow-step__dot {
	background: #4fc1c4;
}

.geum-flow-step--apply .geum-flow-step__number {
	color: #e8736f;
}

.geum-flow-step--apply .geum-flow-step__dot {
	background: #e8736f;
}

.geum-flow-step--visit .geum-flow-step__number {
	color: #df5b9c;
}

.geum-flow-step--visit .geum-flow-step__dot {
	background: #ec73aa;
}

/* 단계 내용 */
.geum-flow-step__content {
	flex: 1;
}

.geum-flow-step__content h3 {
	min-height: 66px;
	margin: 0 0 18px;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.035em;
	color: #39322f;
	word-break: keep-all;
	font-family: 'JejuStoneWall';
}

.geum-flow-step__content p {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.75;
	letter-spacing: -0.025em;
	color: #665e59;
	word-break: keep-all;
}

/* 버튼 */
.geum-flow-step__button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 56px;
	margin-top: 30px;
	padding: 12px 16px;
	border: 0;
	text-decoration: none;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: -0.025em;
	color: #fff;
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		filter 0.2s ease;
}

.geum-flow-step__button span {
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	transition: transform 0.2s ease;
}

.geum-flow-step__button:hover {
	transform: translateY(-3px);
	filter: brightness(1.03);
	box-shadow: 0 10px 20px rgba(46, 52, 35, 0.14);
}

.geum-flow-step__button:hover span {
	transform: translateX(4px);
}

.geum-flow-step__button:focus-visible {
	outline: 3px solid rgba(30, 174, 179, 0.3);
	outline-offset: 4px;
}

.geum-flow-step--instagram .geum-flow-step__button {
	background: #ef2788;
}

.geum-flow-step--survey .geum-flow-step__button {
	background: #1babb0;
}

.geum-flow-step--apply .geum-flow-step__button {
	background: #e8736f;
}

/* 주소 */
.geum-flow-step__address {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 86px;
	margin: 30px 0 0;
	padding: 15px 16px;
	background: #fff3d3;
	font-style: normal;
	text-align: center;
	line-height: 1.55;
	color: #574e45;
}

.geum-flow-step__address strong {
	display: block;
	font-size: 16px;
	font-weight: 600;
}

.geum-flow-step__address span {
	display: block;
	font-size: 13px;
	font-weight: 400;
}

/* 하단 안내 */
.geum-flow-notice {
	display: flex;
	align-items: center;
	gap: 16px;
	border-radius: 5px;
	max-width: 860px;
	margin: 28px auto 0;
	padding: 17px 25px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(91, 107, 62, 0.1);
}

.geum-flow-notice__icon {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	background: #8bc53f;
	border-radius: 50%;
	font-size: 20px;
	font-weight: 900;
	color: #fff;
}

.geum-flow-notice p {
	margin: 0;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.65;
	letter-spacing: -0.02em;
	color: #554f49;
	word-break: keep-all;
}

.geum-flow-notice strong {
	font-weight: 700;
	color: #3c3733;
}

/* =========================================================
   태블릿
========================================================= */

@media (max-width: 1100px) {
	.geum-flow-section {
		padding: 90px 24px 80px;
	}

	.geum-flow-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 18px;
	}

	.geum-flow-step {
		padding: 34px;
	}

	.geum-flow-step + .geum-flow-step {
		border-left: 0;
	}

	.geum-flow-step:nth-child(even) {
		border-left: 1px dashed #d4dcc0;
	}

	.geum-flow-step:nth-child(n + 3) {
		border-top: 1px dashed #d4dcc0;
	}

	.geum-flow-step:not(:last-child)::after {
		display: none;
	}

	.geum-flow-step__content h3 {
		min-height: auto;
	}

	.geum-flow-step__content p {
		min-height: 84px;
	}
}

/* =========================================================
   모바일
========================================================= */

@media (max-width: 700px) {
	.geum-flow-section {
		padding: 70px 18px 60px;
	}

	.geum-flow-section::before {
		top: 28px;
		left: 22px;
		width: 34px;
		height: 34px;
	}

	.geum-flow-section::after {
		right: 20px;
		bottom: 22px;
		width: 48px;
		height: 22px;
	}

	.geum-flow-heading {
		margin-bottom: 38px;
	}

	.geum-flow-heading__eyebrow {
		margin-bottom: 15px;
		font-size: 12px;
	}

	.geum-flow-heading__title {
		font-size: 32px;
		line-height: 1.3;
	}

	.geum-flow-heading__description {
		margin-top: 18px;
		font-size: 15px;
		line-height: 1.65;
	}

	.geum-flow-heading__description br {
		display: none;
	}

	.geum-flow-steps {
		display: block;
		padding: 0 20px;
	}

	.geum-flow-step {
		padding: 34px 0;
	}

	.geum-flow-step:nth-child(even) {
		border-left: 0;
	}

	.geum-flow-step:nth-child(n + 2) {
		border-top: 1px dashed #d4dcc0;
	}

	.geum-flow-step__top {
		gap: 13px;
		margin-bottom: 20px;
	}

	.geum-flow-step__number {
		font-size: 42px;
	}

	.geum-flow-step__dot {
		width: 14px;
		height: 14px;
	}

	.geum-flow-step__content h3 {
		margin-bottom: 14px;
		font-size: 22px;
	}

	.geum-flow-step__content p {
		min-height: auto;
		font-size: 15px;
	}

	.geum-flow-step__content p br {
		display: none;
	}

	.geum-flow-step__button {
		min-height: 54px;
		margin-top: 24px;
		font-size: 15px;
	}

	.geum-flow-step__address {
		margin-top: 24px;
	}

	.geum-flow-notice {
		align-items: flex-start;
		margin-top: 20px;
		padding: 16px 18px;
	}

	.geum-flow-notice p {
		font-size: 14px;
	}
}