/* web-font */
@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansLight.woff') format('woff');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff') format('woff');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansBold.woff') format('woff');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Thin.woff2') format('woff2');
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Light.woff2') format('woff2');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Medium.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Bold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraBold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Black.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}

/* common */
* {box-sizing: border-box;}
html {
    font-size: 100%;
    width: 100%;
    max-width: 100%;
    scroll-behavior: smooth;
    overflow-x: hidden;
    overflow-x: clip;
}
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    font-family: 'GMarketSans', 'Pretendard', sans-serif;
    color: #1d1d1d;
    line-height: 1.55;
    word-break: keep-all;
    overflow-x: hidden;
    overflow-x: clip;
    overflow-wrap: break-word;
}
img {
    max-width: 100%;
    display: block;
}
main, main>section, main>section>* {min-width: 0;}

button, input, select, textarea {max-width: 100%;}
a {
    text-decoration: none;
    color: inherit;
}
.wrap {
    width: min(1180px, calc(100% - 36px));
    margin: 0 auto;
}
.top {
    position: fixed;
    z-index: 50;
    left: 0;
    right: 0;
    top: 0;
    background: rgba(255, 250, 246, .76);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, .55);
}
.top .wrap {
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.logo {
    font-family: serif;
    font-weight: 600;
    letter-spacing: .08em;
}
.nav {
    display: flex;
    gap: 22px;
    font-size: 14px;
    font-weight: 600;
    color: #5f4b50;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
/* [data-scroll-form] {cursor: pointer;} */

/* 
.hero {
    --hero-header-height: 72px;
    min-height: 100vh;
    min-height: 100svh;
    padding-top: var(--hero-header-height);
    background: #fff;
    overflow: hidden;
}
.hero__inner {
    width: 100%;
    min-height: calc(100vh - var(--hero-header-height));
    min-height: calc(100svh - var(--hero-header-height));
    display: grid;
    grid-template-columns: minmax(0, 52%) minmax(0, 48%);
    align-items: center;
}
.hero__text {
    min-width: 0;
    padding-left: max(36px, calc((100vw - 1180px) / 2));
    padding-right: 3.625rem;
    text-align: center;
}
.hero__season {
    margin: 0 0 8px;
    font-family: serif;
    font-size: 1.75rem;
    color: #111;
    letter-spacing: .02em;
}
.hero__title-img {
    display: block;
    width: min(620px, 100%);
    height: auto;
    margin: 0 auto 28px;
}
.hero__date {
    margin: 0 0 22px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 10px;
    color: #000;
    font-weight: 700;
}
.hero__date span {
    font-size: 2.375rem;
    font-weight: 400;
}
.hero__date strong {
    font-size: 5.75rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.06em;
}
.hero__date em {
    font-weight: 400;
    font-style: normal;
    font-size: 1.75rem;
}
.hero__place {
    font-family: 'pretendard' !important;
    width: min(520px, 100%);
    margin: 0 auto;
    padding: 16px 28px;
    border-radius: 999px;
    background: #222;
    color: #fff;
    font-size: 2.75rem;
    font-weight: 600;
    line-height: 1.15;
    color: #ff1493;
}
.hero__place span {color: #fff;}
.hero__image {
    min-width: 0;
    height: calc(100vh - var(--hero-header-height));
    height: calc(100svh - var(--hero-header-height));
    min-height: 620px;
}
.hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
*/

/*260831 메인 수정*/
.hero {
    --hero-header-height: 72px;
    min-height: 950px;
    padding-top: var(--hero-header-height);
    background-image: url("../assets/title_bg.webp");
    background-repeat: no-repeat;
    background-position: right var(--hero-header-height);
    background-size: auto calc(100% - var(--hero-header-height));
    overflow: hidden;
}

.hero__inner {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    width: min(1220px, calc(100% - 48px));
    min-height: calc(100vh - var(--hero-header-height));
    margin: 0 auto;
    padding: 1.5rem 2rem;
}

.hero__copy {
    position: relative;
    z-index: 2;
    width: 48%;
}

.hero__eyebrow {
    margin: 0 0 14px;
    color: #161616;
    font-size: clamp(1.35rem, 2vw, 1.9rem);
    font-weight: 500;
    letter-spacing: -.04em;
    font-family: 'Pretendard';
}

.hero__title {
    margin: 0;
    color: #050505;
    font-size: 6rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.025em;
}

.hero__title span {
    display: inline-block;
    margin-left: .2em;
    color: #eb123d;
    font-size: .38em;
    font-weight: 800;
    letter-spacing: -.04em;
    white-space: nowrap;
}
.hero__info p {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: auto;
    padding: 0;
    border-radius: 0;
    background: none;
}
.hero__info img {
    width: 1.25rem;
    margin: 0 1rem 0rem 0;
}
.hero__date {
    gap: 0;
    margin: 0 0 8px;
}

.hero__date {
    color: #b76513;
    font-size: 2.5rem;
    font-weight: 600;
    font-family: 'Pretendard' !important;
}

.hero__place {
    margin: 0;
    color: #111;
    font-family: 'Pretendard' !important;
    font-size: 2rem;
    font-weight: 600;
}

.hero__benefits {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    margin: 2rem 0 0;
    padding: 1rem;
    list-style: none;
    border: 1px solid rgba(214, 204, 197, .45);
    border-radius: 18px;
    background: rgba(255, 255, 255, .3);
    box-shadow: 0 12px 28px rgba(67, 45, 35, .09);
    backdrop-filter: blur(9px);
}

.hero__benefits li {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 116px;
    align-items: center;
    justify-content: center;
    padding: 0;
    text-align: center;
}

.hero__benefits li + li {
    border-left: 1px solid #e9ddd4;
}
.hero__benefits li img {width: 100px;}
.hero__benefits strong,
.hero__benefits span {display: block;}

.hero__benefits strong {
    margin-bottom: 4px;
    color: #111;
    font-size: 1.75rem;
    font-weight: 800;
    font-family: 'Pretendard';
}

.hero__benefits span {
    color: #191919;
    font-family: 'Pretendard', sans-serif;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.5;
}

.hero__actions {
    position: relative;
    z-index: 3;
    width: min(580px, 82%);
    margin: 22px auto 0;
    text-align: center;
}

.hero__cta {
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 15px 30px 12px;
    border-radius: 999px;
    background: linear-gradient(100deg, #ed0038, #ed1745);
    box-shadow: 0 8px 15px rgba(152, 17, 48, .18);
    color: #fff;
    font-size: clamp(1.25rem, 2.1vw, 1.75rem);
    font-weight: 800;
    letter-spacing: -.04em;
    transition: transform .2s ease, box-shadow .2s ease;
}

.hero__cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 22px rgba(152, 17, 48, .25);
}

.hero__cta:focus-visible {
    outline: 3px solid rgba(237, 0, 56, .25);
    outline-offset: 4px;
}

.hero__cta span {
    margin-top: -1rem;
    font-family: Arial, sans-serif;
    font-size: 1.6em;
    font-weight: 300;
    line-height: 1;
}

.hero__actions p {
    margin: 13px 0 0;
    color: #77716e;
    font-family: 'Pretendard', sans-serif;
    font-size: .98rem;
}
/* section2 : 웨딩상품권*/
.wedding-event-banner {
    width: 100%;
    min-height: 7.5rem;
    padding: 2rem;
    background: #fdeaf6;
    overflow: hidden;
    box-sizing: border-box;
}
.wedding-event-banner a {
	display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
}
.wedding-event-banner img {max-width: 200px;}
.banner-content {min-width: 0;}
.event-badge {
    display: inline-block;
    margin: 0 0 8px;
    padding: 4px 14px 0 12px;
    border-radius: 999px;
    background: #d82bb5;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.5;
}
.banner-content h2 {
    margin: 0;
    color: #000;
    font-size: 4rem;
    line-height: 1.25;
    letter-spacing: -0.04em;
    font-weight: 500;
}
.banner-content h2 strong:first-child {
    font-style: normal;
    animation: pink-color 2s infinite linear;
}
.banner-content h2 strong:last-child {
    font-style: normal;
    animation: pink-color 2s 3s infinite linear;
}
@keyframes pink-color {
    0% {color: #e6007e;}
    49% {color: #e6007e;}
    50% {color: #000;}
    100% {}
}
.banner-content h2 span {
    color: #000;
    margin-left: 0.15em;
}
.banner-content h2 em {
    font-style: normal;
    color: #000;
}

/* section3 : 대박웨딩 체크포인트 */
.checkpoint-section {
    display: flex;
    width: 100%;
    background: #f1f1f1;
    overflow: hidden;
    max-height: 900px;
}
.checkpoint-image {width: 50%;}
.checkpoint-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.checkpoint-content {
    width: 50%;
    padding: 4.5rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.checkpoint-sub {
    margin: 0 0 2.25rem;
    color: #2d2d2d;
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 1.28;
    letter-spacing: -0.06em;
}
.checkpoint-sub span {
    font-size: 1.875rem;
    font-weight: 600;
}
.checkpoint-title {
    margin: 0 0 2.625rem;
    color: #2d2d2d;
    font-size: 5.25rem;
    font-weight: 600;
    line-height: 1.04;
    letter-spacing: -0.08em;
}
.checkpoint-title strong {
    display: block;
    color: #4b9d00;
    font-size: 1.5em;
    font-weight: 600;
}
.checkpoint-list {
    display: flex;
    flex-direction: column;
    gap: 1.375rem;
    margin: 0 0 3.625rem;
    padding: 0;
    list-style: none;
}
.checkpoint-list li {
    position: relative;
    padding-left: 2.75rem;
    color: #2d2d2d;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: -0.06em;
}
.checkpoint-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 50%;
    width: 2.125rem;
    height: 2.125rem;
    border: 2px solid #8c8c8c;
    border-radius: 50%;
    transform: translateY(-50%);
    color: #4b9d00;
    font-size: 1.875rem;
    font-weight: 600;
    line-height: 0.85;
    display: flex;
    align-items: center;
    padding-top: 5px;
    justify-content: center;
}
.checkpoint-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3.625rem;
    width: 100%;
    min-height: 5.875rem;
    padding: 0 2.75rem;
    box-sizing: border-box;
    border-radius: 8px;
    background: #469600;
    color: #fff;
    text-decoration: none;
    font-size: 2.75rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.06em;
    transition: transform 0.25s ease;
}
.checkpoint-button:hover {transform: scale(1.01);}
.checkpoint-button span {
    position: relative;
    width: 5rem;
    height: 2px;
    background: #fff;
}
.checkpoint-button span::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 1.625rem;
    height: 1.625rem;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translateY(-50%) rotate(45deg);
}

/* section4 : 결국엔 실력 */
.brand-power-section {
    position: relative;
    width: 100%;
    background: url(/assets/section4_bg.webp) top center no-repeat;
    background-size: cover;
    overflow: hidden;
    padding: 6.25rem 20px 6.25rem;
    box-sizing: border-box;
}
.brand-power-inner {
    position: relative;
    z-index: 2;
    max-width: 940px;
    margin: 0 auto;
    text-align: center;
}
.brand-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.25rem;
    padding: 16px 2rem 10px;
    border-radius: 999px;
    background: linear-gradient(90deg, #46301d, #795335, #3e2a1b);
    color: #fff;
    font-size: 1.875rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.06em;
    white-space: nowrap;
    margin-bottom: 16px;
    gap: 12px;
}
.brand-badge strong {
    color: #e7c07a;
    font-weight: 500;
}
.brand-title {
    position: relative;
    display: inline-block;
    margin: 0;
    font-size: 7.625rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -0.08em;
    background: linear-gradient(45deg,
            #7a4700 0%,
            #b87900 35%,
            #e6b64a 50%,
            #9b5d00 70%,
            #6f3f00 100%);
    background-size: 200% 200%;
    color: transparent;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    -webkit-background-clip: text;
    animation: gold-gradient-move 4s ease-in-out infinite;
}
@keyframes gold-gradient-move {
    0% {background-position: 0% 50%;}
    50% {background-position: 100% 50%;}
    100% {background-position: 0% 50%;}
}
.brand-subtitle {
    margin: 0 0 50px 0;
    color: #2f2f2f;
    font-size: 3.625rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.07em;
}
.brand-logo-board {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    max-width: 1100px;
    margin: 0 auto;
    border: 6px solid #a9a9a9;
    background: #fff;
}
.brand-logo {
    display: block;
    width: 100%;
    height: 6.25rem;
    padding: 14px;
    box-sizing: border-box;
    object-fit: contain;
    object-position: center;
    border-right: 1px solid #d0d0d0;
    border-bottom: 1px solid #d0d0d0;
    background: #fff;
}
.brand-logo:nth-child(5n) {border-right: 0;}
.brand-logo:nth-last-child(-n + 5) {border-bottom: 0;}

/* section5 : 가성비 갓 스드메 */
.cost-banner {
    position: relative;
    display: flex;
    justify-content: end;
    width: 100%;
    max-height: 750px;
    overflow: hidden;
    background: url("/assets/section5_bg.webp") left center no-repeat;
    background-size: cover;
}
.cost-banner__content {
    padding: 4.5rem 5.375rem 4.5rem 3.625rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    text-align: center;
    width: 50%;
}
.cost-banner__eyebrow {
    margin: 0 0 16px 0;
    color: #fff;
    font-family: serif;
    font-size: 1.25rem;
    font-style: italic;
    font-weight: 200;
    line-height: 1;
    letter-spacing: -0.02em;
}
.cost-banner__label {
    margin: 0 0 8px 0;
    color: #fff;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -0.06em;
}
.cost-banner__title {
    margin: 0;
    background: linear-gradient(145deg,
            #ff13bd 0%,
            #ffafe8 50%,
            #ff13bd 100%);
    color: transparent;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    -webkit-background-clip: text;
    font-size: 4.5rem;
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -0.08em;
}
.cost-banner__desc {
    margin: 0;
    color: #fff;
    font-size: 2.5rem;
    font-weight: 500;
    letter-spacing: -0.06em;
}
.cost-ticket {
    position: relative;
    display: flex;
    width: min(100%, 560px);
    min-height: fit-content;
    margin: 0 auto 2.5rem;
    background: #fff;
    color: #2f2f2f;
    box-shadow: 0 0 24px rgba(0, 255, 190, 0.16);
}
.cost-ticket__info {
    flex: 1;
    padding: 1.75rem 2.125rem;
    box-sizing: border-box;
}
.cost-ticket__row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: baseline;
    column-gap: 8px;
}
.cost-ticket__row+.cost-ticket__row {margin-top: 0.75rem;}
.cost-ticket__name {
    text-align: left;
    color: #333;
    font-size: 2.375rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.06em;
}
.cost-ticket__price {
    color: #ff00b7;
    font-size: 4.5rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.08em;
}
.cost-ticket__unit {
    color: #333;
    font-size: 1.625rem;
    font-weight: 900;
    letter-spacing: -0.06em;
}
.cost-ticket__side {
    position: relative;
    width: 5.375rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 8px dotted #000;
    box-sizing: border-box;
}
.cost-ticket__side::before, .cost-ticket__side::after {
    content: "";
    position: absolute;
    left: -14px;
    width: 24px;
    height: 24px;
    background: #000;
    border-radius: 50%;
}
.cost-ticket__side::before {top: -12px;}
.cost-ticket__side::after {bottom: -12px;}
.cost-ticket__side span {
    writing-mode: vertical-rl;
    color: #d9d9d9;
    font-size: 1.25rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}
.cost-banner__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 550px);
    min-height: 5.375rem;
    margin: 0 auto;
    padding: 10px 2.5rem 0;
    box-sizing: border-box;
    border-radius: 999px;
    color: #fff;
    text-decoration: none;
    font-size: 2.75rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.06em;
    animation: gardient-effect 3s infinite ease-in-out;
}
@keyframes gardient-effect {
    0% {
        background: linear-gradient(145deg,
                #b40081 0%,
                #ff13bd 25%,
                #ffafe8 50%,
                #ff13bd 75%,
                #b40081 100%);
    }
    50% {
        background: linear-gradient(145deg,
                #b40081 25%,
                #ff13bd 50%,
                #ffafe8 75%,
                #ff13bd 100%,
                #b40081 0%);
    }
    100% {
        background: linear-gradient(145deg,
                #b40081 50%,
                #ff13bd 75%,
                #ffafe8 100%,
                #ff13bd 0%,
                #b40081 25%);
    }
}

/* section6 : 뛰어라 혜택 */
.benefit-banner {
    width: 100%;
    min-height: 38.75rem;
    background: url(/assets/section6_bg.webp) center center no-repeat;
    background-size: cover;
    overflow: hidden;
    padding: 4rem 0;
    display: flex;
    align-items: center;
}
.benefit-content {
    z-index: 2;
    width: 50%;
    min-height: 38.75rem;
    margin-left: 7.25rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    box-sizing: border-box;
}
.benefit-title {
    margin: 0;
    color: #000;
    line-height: 1.16;
    letter-spacing: -0.08em;
}
.benefit-title strong {
    display: block;
    font-size: 6.625rem;
    font-weight: 900;
    line-height: 1;
}
.benefit-title span {
    display: block;
    margin-top: 1.625rem;
    font-size: 4rem;
    font-weight: 300;
    letter-spacing: -0.09em;
}
.benefit-title em {
    display: block;
    color: #b40000;
    font-size: 4.75rem;
    font-weight: 900;
    font-style: normal;
    letter-spacing: -0.08em;
}
.benefit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 3.125rem;
    width: 27.875rem;
    min-height: 5rem;
    margin-top: 5rem;
    background: #b40000;
    color: #fff;
    text-decoration: none;
    font-size: 2.5rem;
    font-weight: 300;
    letter-spacing: -0.06em;
    padding-top: 0.75rem;
    transition: transform 0.3s ease;
}
.benefit-button span {
    font-size: 0.9em;
    font-weight: 300;
}
.benefit-button:hover {transform: scale(1.025);}

/* 혜택 리스트 자유 배치 */
.benefit-banner .benefit-list {
    width: 100%;
    margin: 0 6.25rem 0 auto;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    align-items: center;
    align-content: center;
    box-sizing: border-box;
    gap: 1.5rem;
}
.benefit-banner .benefit-list li {
    grid-column: span 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 80%;
    min-height: 4.625rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.58);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.08);
    color: #111;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    box-sizing: border-box;
}
.benefit-banner .benefit-list li img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 10px 10px 0 0;
}
.benefit-banner .benefit-list li span {padding: 2rem 0;}
/* 아래 2개를 가운데 정렬 */
.benefit-banner .benefit-list li:nth-child(4) {grid-column: 2 / span 2;}
.benefit-banner .benefit-list li:nth-child(5) {grid-column: 4 / span 2;}

/* section7 : 스드메 패키지 */
.sdm-section {
    width: 100%;
    padding: 7.25rem 20px;
    background:
        radial-gradient(circle at center, #fff 0%, #f5f5f5 45%, #ececec 100%);
    box-sizing: border-box;
    overflow: hidden;
}
.sdm-inner {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    text-align: center;
    color: #2b2b2b;
}
.sdm-kicker {
    margin: 0 0 20px;
    font-size: 2.625rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.06em;
}
.sdm-compare {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    margin-bottom: 3.625rem;
}
.sdm-compare-box {
    width: min(38vw, 310px);
    min-height: 7.875rem;
    padding: 18px 20px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.sdm-compare-box span {
    font-size: 1.875rem;
    font-weight: 500;
    line-height: 1.18;
    letter-spacing: -0.07em;
}
.sdm-compare-box strong {
    margin-top: 6px;
    color: #f414a9;
    font-size: 2.25rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.06em;
}
.sdm-vs {
    color: #222;
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.08em;
}
.sdm-title-area {margin-bottom: 3.375rem;}
.sdm-title-area p {font-weight: 600;}
.sdm-title-area p, .sdm-title-area span {
    display: block;
    margin: 0;
    color: #303030;
    font-size: 2.125rem;
    line-height: 1.35;
    letter-spacing: -0.06em;
}
.sdm-title-area h2 {
    margin: 10px 0 0;
    color: #252525;
    font-size: 4.875rem;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -0.08em;
}
.sdm-package-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    margin-bottom: 4.375rem;
}
.sdm-package-card {
    overflow: hidden;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.11);
    text-align: left;
    box-sizing: border-box;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}
.sdm-package-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 48px rgba(0, 0, 0, 0.16);
}
/* 상단 컬러 영역 공통 */
.sdm-package-top {
    height: 280px;
    min-height: 280px;
    padding: 2.25rem 2.5rem;
    box-sizing: border-box;
    color: #fff;
    display: grid;
    grid-template-rows: 42px 1fr;
    row-gap: 1.75rem;
}
/* 선택 1 상단 */
.sdm-package-card--main .sdm-package-top {
    background: linear-gradient(
        135deg,
        #f414a9 0%,
        #bf00e7 48%,
        #7600ff 100%
    );
}
/* 선택 2 상단 */
.sdm-package-card:not(.sdm-package-card--main) .sdm-package-top {
    background: linear-gradient(
        135deg,
        #7a24f5 0%,
        #5340e8 48%,
        #256ccf 100%
    );
}
/* 패키지명 */
.sdm-package-label {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0;
    color: #fff;
    line-height: 1;
    letter-spacing: -0.07em;
}
.sdm-package-label span {
    color: #fff;
    font-size: 1.625rem;
    font-weight: 700;
}
.sdm-package-label strong {
    color: #fff;
    font-size: 2.125rem;
    font-weight: 900;
}
/* 선택 1 가격 영역 */
.sdm-package-price > span  {
    display: block;
    margin-bottom: 1.5rem;
    color: rgba(255, 255, 255, 0.92);
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.05em;
}
.sdm-package-price-value {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.sdm-package-price-value strong {
    color: #fff;
    font-size: 5.5rem;
    font-weight: 900;
    line-height: 0.85;
    letter-spacing: -0.08em;
}
.sdm-package-price-value em {
    align-self: flex-end;
    margin-bottom: 7px;
    padding: 0;
    color: #fff;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
}
/* 선택 2 가격 영역 */
.sdm-sub-price-list {
    height: 150px;
    margin: 0;
    align-self: end;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.sdm-sub-price span {
    display: block;
    margin-bottom: 1.5rem;
    color: rgba(255, 255, 255, 0.92);
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.05em;
}
.sdm-sub-price strong {
    display: block;
    color: #fff;
    font-size: 5.5rem;
    font-weight: 900;
    line-height: 0.85;
    letter-spacing: -0.08em;
}
/* 하단 설명 영역 */
.sdm-package-content {
    min-height: 285px;
    padding: 2.25rem 2.5rem 2.5rem;
    box-sizing: border-box;
}
/* 하단 제목 */
.sdm-package-content h3 {
    display: inline-block;
    min-height: 4.75rem;
    margin: 0 0 1.5rem;
    padding-bottom: 3px;
    color: #111;
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -0.06em;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
/* 선택 1 */
.sdm-package-card--main .sdm-package-content h3 span {
    color: #f414a9;
    font-size: 2.25rem;
}
/* 선택 2 */
.sdm-package-card:not(.sdm-package-card--main)
.sdm-package-content h3 span {
    color: #4f55db;
    font-size: 2.25rem;
}
.sdm-package-content ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.sdm-package-content li {
    position: relative;
    padding-left: 18px;
    color: #222;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: -0.04em;
}
.sdm-package-content li::before {
    content: "";
    position: absolute;
    top: 0.75em;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
}
/* 각 카드별 리스트 포인트 */
.sdm-package-card--main .sdm-package-content li::before {
    background: #f414a9;
}
.sdm-package-card:not(.sdm-package-card--main)
    .sdm-package-content li::before {
    background: #4f55db;
}
/* 상담 버튼 */
.sdm-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.75rem;
    width: min(100%, 680px);
    min-height: 6.25rem;
    padding: 10px 15px 0;
    box-sizing: border-box;
    border-radius: 8px;
    background: #2c2c2c;
    color: #fff;
    text-decoration: none;
    font-size: 3.125rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.07em;
    transition: background-color 0.3s ease;
}
.sdm-button:hover {
    background: #f414a9;
}
.sdm-button span {
    font-size: 1.25em;
    font-weight: 300;
}
.sdm-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.75rem;
    width: min(100%, 680px);
    min-height: 6.25rem;
    padding: 10px 15px 0 15px;
    box-sizing: border-box;
    border-radius: 8px;
    background: #2c2c2c;
    color: #fff;
    text-decoration: none;
    font-size: 3.125rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.07em;
    transition: background-color 0.3s ease;
}
.sdm-button:hover {background: #f414a9;}
.sdm-button span {
    font-size: 1.25em;
    font-weight: 300;
}

/* 섹션8 : 최저가에 혜택을 더하다 */
.event-section {
    width: 100%;
    min-height: 540px;
    background: #efefef;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4.375rem 20px;
    box-sizing: border-box;
}
.event-wrap {
    width: 100%;
    max-width: 1180px;
    text-align: center;
}
.event-top {
    font-size: 2.125rem;
    font-weight: 900;
    margin-bottom: 15px;
    line-height: 1.2;
    letter-spacing: -1px;
}
.event-top span {
    color: #ff35b5;
    margin-left: 8px;
}
.event-title {
    font-size: 4.75rem;
    font-weight: 900;
    line-height: 1.12;
    margin: 0 0 3.75rem;
    letter-spacing: -3px;
}
.event-title span {color: #ff35b5;}
.event-content {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4.125rem;
}
.card-area {
    width: 20.625rem;
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex-shrink: 0;
}
.pay-card,.gift-card {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1.52 / 1;
    border-radius: 12px;
}
.gift-card {
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.text-area {
    text-align: left;
    min-width: 0;
}
.badges {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 18px;
}
.badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.375rem;
    padding: 0 1.75rem;
    border-radius: 999px;
    color: #fff;
    font-size: 2.25rem;
    font-weight: 900;
    letter-spacing: -2px;
    white-space: nowrap;
}
.badge.pink {background: #ff35b5;}
.badge.dark {background: #282828;}
.brand {
    font-size: 4.25rem;
    font-weight: 900;
    letter-spacing: -4px;
    margin-bottom: 12px;
    line-height: 1.1;
}
.discount {
    font-size: 4.75rem;
    font-weight: 900;
    letter-spacing: -4px;
    margin-bottom: 2.25rem;
    line-height: 1;
}
.discount strong {
    color: #ff00a8;
    font-size: 6rem;
}
.blink-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: min(100%, 520px);
    min-height: 5.625rem;
    background: #ff00a8;
    color: #fff;
    text-decoration: none;
    font-size: 2.625rem;
    font-weight: 900;
    letter-spacing: -2.5px;
    transition: transform 0.2s ease;
    padding: 5px 24px 0 24px;
    box-sizing: border-box;
}
.blink-button:hover {transform: scale(1.01);}

/* 섹션9 : 7년연속 고객만족 1위 */
.db-section {
    background: #b10041;
    color: white;
    padding: 5rem;
}
.head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 26px;
    margin-bottom: 44px
}
.head h2 {
    font-size: 4rem;
    line-height: 1.05;
    letter-spacing: -.07em;
    margin: 8px 0 0
}
.head p {
    color: #1d1d1d;
    font-size: 18px;
    max-width: 520px;
    margin: 14px 0 0
}
.dark .head p {color: #ead4dc;}
.stats {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px
}
.stat {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 28px;
    padding: 28px
}
.stat b {
    display: block;
    font-size: 42px;
    color: #ffffff;
    line-height: 1;
}
.stat span {
    display: block;
    margin-top: 12px;
    color: #ffffff;
    font-weight: 400;
    font-size: 1rem;
}

/* 섹션10 대박웨딩플래너 */
.planner-section {
    padding: 3rem 0;
    background-color: #fffaf6;
}
.planner-rolling {
    width: 100%;
    overflow: hidden;
    position: relative;
}
.planner-track {
    display: flex;
    gap: 18px;
    width: max-content;
    animation: plannerRolling 45s linear infinite;
}
.planner-rolling:hover .planner-track {animation-play-state: paused;}
.planner {
    flex: 0 0 300px;
    background: white;
    border: 1px solid rgba(95, 48, 62, 0.18);
    border-radius: 32px;
    overflow: hidden;
    text-align: center;
}
.planner .photo {
    height: 320px;
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden;
}
.planner .body {padding: 24px;}
.planner blockquote {
    margin: 0 0 16px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.04em;
}
.planner .body p {
    margin: 0;
    line-height: 1.55;
    color: #a96e7e;
}
/* 이미지 매칭 */
/* 이미지 매칭 */
.planner:nth-child(8n + 1) .photo {
    background: url(/assets/planner1.jpg) top center no-repeat;
    background-size: cover;
}
.planner:nth-child(8n + 2) .photo {
    background: url(/assets/planner2.jpg) top center no-repeat;
    background-size: cover;
}
.planner:nth-child(8n + 3) .photo {
    background: url(/assets/planner5.jpg) top center no-repeat;
    background-size: cover;
}
.planner:nth-child(8n + 4) .photo {
    background: url(/assets/planner8.jpg) top center no-repeat;
    background-size: cover;
}
.planner:nth-child(8n + 5) .photo {
    background: url(/assets/planner3.jpg) top center no-repeat;
    background-size: cover;
}
.planner:nth-child(8n + 6) .photo {
    background: url(/assets/planner4.jpg) top center no-repeat;
    background-size: cover;
}
.planner:nth-child(8n + 7) .photo {
    background: url(/assets/planner6.jpg) top center no-repeat;
    background-size: cover;
}
.planner:nth-child(8n + 8) .photo {
    background: url(/assets/planner9.jpg) top center no-repeat;
    background-size: cover;
}

/* 자동 롤링 */
@keyframes plannerRolling {
    0% {transform: translateX(0);}
    100% {transform: translateX(calc(-50% - 9px));}
}
.planner p {
    margin: 0;
    color: #1d1d1d;
    font-weight: 400
}

/* 섹션11 : 구해줘!웨딩홀 */
.hall-section {
    width: 100%;
    overflow: hidden;
    background: #111;
    background-image: url("/assets/section7_bg.webp");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding: 2rem 0;
}
.hall-inner {
    width: min(100%, 1480px);
    margin: 0 auto;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    align-items: center;
}
.hall-left {
    display: block;
    height: auto;
    filter: drop-shadow(0 24px 35px rgba(0, 0, 0, 0.45));
}
/* 오른쪽 슬라이더 */
.hall-slider-wrap {
    position: relative;
    width: 100%;
}
.hall-card {
    position: relative;
    width: min(100%, 500px);
    margin: 0 auto;
    box-sizing: border-box;
}
.hall-card img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}
.hall-slider {
    position: relative;
    width: 100%;
    height: 25.25rem;
}
.hall-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: translateX(50px) scale(0.96);
    transition:
        opacity 0.6s ease,
        transform 0.6s ease;
    pointer-events: none;
}
.hall-slide.is-active {
    opacity: 1;
    transform: translateX(0) scale(1);
    pointer-events: auto;
}
.hall-dots {
    display: flex;
    justify-content: center;
    gap: 9px;
    margin-top: 1.375rem;
}
.hall-dots button {
    width: 11px;
    height: 11px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.45);
    cursor: pointer;
}
.hall-dots button.is-active {background: #fff;}

/* 섹션12 : 대구경북웨딩홀 */
.weddinghall-list-section {
    width: 100%;
    padding: 7.25rem 20px;
    background: #f4f4f4;
    box-sizing: border-box;
}
.weddinghall-inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    text-align: center;
}
.weddinghall-title {margin-bottom: 4rem;}
.weddinghall-title p {
    display: inline-block;
    margin: 0 0 14px;
    padding: 7px 18px 5px;
    border-radius: 999px;
    background: #222;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.04em;
}
.weddinghall-title h2 {
    margin: 0;
    color: #222;
    font-size: 4rem;
    font-weight: 900;
    line-height: 1.12;
    letter-spacing: -0.08em;
}
.weddinghall-title span {
    display: block;
    margin-top: 14px;
    color: #666;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.05em;
}
/* 그리드 */
.weddinghall-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.375rem;
}
.weddinghall-card {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}
.weddinghall-card img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform 0.45s ease;
}
.weddinghall-card:hover img {transform: scale(1.06);}
.weddinghall-card::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 68%;
    background: linear-gradient(180deg,
            rgba(0, 0, 0, 0.08) 0%,
            rgba(0, 0, 0, 0) 55%);
    pointer-events: none;
}
.weddinghall-name {
    position: relative;
    z-index: 1;
    min-height: 58px;
    padding: 14px 8px 12px;
    box-sizing: border-box;
    background: #fff;
    color: #222;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.06em;
    display: flex;
    align-items: center;
    justify-content: center;
    word-break: keep-all;
}
/* 안내 문구 */
.weddinghall-notice {
    margin: 3.375rem 0 18px;
    color: #777;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.04em;
}
/* 버튼 */
.weddinghall-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4.5rem;
    width: min(100%, 520px);
    min-height: 5.25rem;
    padding: 0 34px;
    box-sizing: border-box;
    border-radius: 6px;
    background: #2f2f2f;
    color: #fff;
    text-decoration: none;
    font-size: 2.375rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.06em;
    transition:
        background 0.25s ease,
        transform 0.25s ease;
}
.weddinghall-button:hover {
    background: #111;
    transform: translateY(-3px);
}
.weddinghall-button span {
    font-size: 1.1em;
    font-weight: 300;
}
.weddinghall-list-section2 {
    width: 100%;
    padding: 7.25rem 20px;
    background: #ffe2e2;
    box-sizing: border-box;
}

/* 섹션13 : 대구웨딩샵 총출동 */
.dress-section {
    position: relative;
    width: 100%;
    min-height: 50.375rem;
    background: #fff;
    overflow: hidden;
    box-sizing: border-box;
    padding: 4rem 0;
}
.dress-inner {
    width: min(100%, 1440px);
    min-height: 50.375rem;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 50% 50%;
    align-items: center;
    position: relative;
    box-sizing: border-box;
}
/* 왼쪽 이미지 영역 */
.dress-slider {
    position: relative;
    width: min(100%, 700px);
    height: 100%;
    overflow: hidden;
}
.dress-track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.7s ease;
    will-change: transform;
}
.dress-slide {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
}
.dress-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* 점 네비게이션 */
.dress-dots {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 50%;
    min-width: 15rem;
    max-width: 18.75rem;
    height: 6.875rem;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px;
}
.dress-dots button {
    width: 11px;
    height: 11px;
    padding: 0;
    border: 2px solid #b7b0b0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}
.dress-dots button.is-active {background: #b7b0b0;}
/* 오른쪽 콘텐츠 */
.dress-content {
    position: relative;
    height: 46.75rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    overflow: visible;
}
.dress-pink-box {
    position: relative;
    z-index: 2;
    width: min(100%, 660px);
    min-height: 27.875rem;
    padding: 5.375rem 4.5rem;
    box-sizing: border-box;
    background: #ee4773;
    color: #fff;
}
.dress-pink-box h2 {
    margin: 0;
    color: #fff;
    font-size: 4.875rem;
    font-weight: 300;
    line-height: 1.05;
    letter-spacing: -0.08em;
}
.dress-pink-box h2 strong {
    display: block;
    color: #fff45c;
    font-weight: 900;
}
.dress-pink-box p {
    margin: 3.625rem 0 0;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: -0.05em;
}
.dress-benefit {
    width: 100%;
    max-width: 1280px;
    margin: 6.875rem auto 0;
    padding: 0 20px 7.25rem;
    box-sizing: border-box;
    text-align: center;
}
.dress-benefit-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3.625rem;
    align-items: start;
    margin-bottom: 6.875rem;
}
.dress-benefit-card {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.12);
}
.dress-benefit-img {
    width: 100%;
    height: 68%;
    overflow: hidden;
}
.dress-benefit-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.dress-benefit-card p {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 32%;
    margin: 0;
    background: #fff;
    color: #111;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.07em;
}
.dress-benefit-notice {
    margin: 0 0 2.375rem;
    color: #222;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.04em;
}
.dress-benefit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6.25rem;
    width: min(100%, 640px);
    min-height: 6.25rem;
    padding: 0 4.375rem;
    box-sizing: border-box;
    background: #ee4773;
    color: #fff;
    text-decoration: none;
    font-size: 3.25rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: -0.07em;
    transition:
        transform 0.25s ease,
        background 0.25s ease;
}
.dress-benefit-button:hover {
    background: #e83366;
    transform: translateY(-3px);
}
.dress-benefit-button span {
    font-size: 1.1em;
    font-weight: 300;
}

/* 섹션14 : 스튜디오 */
.studio-section {
    position: relative;
    width: 100%;
    padding: 5rem 0;
    background:
        linear-gradient(rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0.62)),
        url("/assets/studio_aowheim.webp") center / cover no-repeat;
    overflow: hidden;
    box-sizing: border-box;
}
.studio-container {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
.studio-heading {
    margin-bottom: 4.375rem;
    padding: 0 20px;
}
.studio-heading p {
    margin: 0 0 12px;
    color: #b99d73;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.125rem;
    font-weight: 500;
    letter-spacing: 0.22em;
}
.studio-heading h2 {
    margin: 0;
    color: #fff;
    font-size: 3.75rem;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.06em;
}
.studio-slider-area {
    position: relative;
    width: 100%;
    padding: 0 3.625rem;
    box-sizing: border-box;
}
.studio-swiper {
    width: 100%;
    padding-bottom: 72px;
    overflow: visible;
}
.studio-card {
    width: 100%;
    cursor: pointer;
    transition: transform 0.35s ease;
}
.studio-card:hover {transform: translateY(-10px);}
.studio-card img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4.1;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.28);
}
.studio-card h3 {
    margin: 18px 0 0;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -0.05em;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}
.studio-nav {
    position: absolute;
    top: 38%;
    z-index: 10;
    width: 3.625rem;
    height: 3.625rem;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    cursor: pointer;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.24);
    transform: translateY(-50%);
    transition:
        background 0.25s ease,
        transform 0.25s ease;
}
.studio-nav::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 14px;
    height: 14px;
    border-top: 3px solid #b99d73;
    border-left: 3px solid #b99d73;
}
.studio-prev {left: 3.625rem;}
.studio-prev::before {
    left: 53%;
    transform: translate(-50%, -50%) rotate(-45deg);
}
.studio-next {right: 3.625rem;}
.studio-next::before {
    left: 47%;
    transform: translate(-50%, -50%) rotate(135deg);
}
.studio-nav:hover {
    background: #b99d73;
    transform: translateY(-50%) scale(1.08);
}
.studio-nav:hover::before {border-color: #fff;}
.studio-pagination {
    position: static;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 3rem;
}
.studio-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 4px !important;
    border-radius: 999px;
    background: #fff;
    opacity: 0.9;
    transition: all 0.3s ease;
}
.studio-pagination .swiper-pagination-bullet-active {
    width: 28px;
    background: #b99d73;
}
.studio-button-wrap {
    margin-top: 4rem;
    padding: 0 20px;
}
.studio-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 360px);
    min-height: 64px;
    padding: 0 32px;
    box-sizing: border-box;
    border-radius: 999px;
    background: #fff;
    color: #2d241f;
    text-decoration: none;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.05em;
    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}
.studio-button:hover {
    background: #b99d73;
    color: #fff;
    transform: translateY(-3px);
}

/* 푸터 */
footer {
    padding: 44px 0 96px;
    background: #2e2024;
    color: #d8c3c9;
    font-size: 13px;
    font-family: 'Pretendard';
}
footer b {color: #fff}

/* 섹션15 : 현금이벤트 */
.money-event-banner {
    position: relative;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    background: #2f544d;
    font-family: "GmarketSans", "Noto Sans KR", sans-serif;
    color: #fff;
    padding: 120px 5% 0 5%;
    box-sizing: border-box;
}
.money-event-inner {
    position: relative;
    z-index: 2;
    width: min(1280px, 100%);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 70px;
}
.copy-area {
    flex: 0 0 42%;
    text-align: left;
    padding-bottom: 5rem;
}
.title {line-height: 1.05;}
.title strong {
    display: block;
    font-size: 5.375rem;
    font-weight: 600;
    color: #f4df32;
    letter-spacing: -0.06em;
}
.title span {
    display: block;
    margin-top: 10px;
    font-size: 5.375rem;
    font-weight: 600;
    color: #fff;
    letter-spacing: -0.06em;
}
.cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 56px;
    margin-top: 56px;
    padding: 22px 66px;
    background: #000;
    color: #fff;
    font-size: 2.375rem;
    font-weight: 300;
    text-decoration: none;
    letter-spacing: -0.05em;
    line-height: 1;
}
.cta span {font-weight: 200;}
.money-img {
    position: relative;
    flex: 0 0 52%;
}
.money-img img {
    display: block;
    width: 100%;
    height: auto;
}
.circle-badge {
    position: absolute;
    left: 4%;
    bottom: 15%;
    width: 30%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: #fff;
    color: #2f544d;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -0.08em;
    text-align: center;
    z-index: 3;
}
.circle-badge span {display: block;}

/* 섹션16 : 허니문 */
.honeymoon-slider-section {
    width: 100%;
    background: #111;
    overflow: hidden;
}
.honeymoon-slider {
    position: relative;
    width: 100%;
    min-height: 720px;
}
.honeymoon-slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    background-image: var(--bg);
    background-size: cover;
    background-position: center;
    transition: opacity 0.8s ease, visibility 0.8s ease;
}
.honeymoon-slide.active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}
.honeymoon-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            rgba(0, 0, 0, 0.72) 0%,
            rgba(0, 0, 0, 0.56) 38%,
            rgba(0, 0, 0, 0.22) 68%,
            rgba(0, 0, 0, 0.3) 100%);
    z-index: 0;
}
.honeymoon-content {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    color: #fff;
    padding: 80px 0;
}
.honeymoon-content .eyebrow {
    margin: 0 0 10px;
    font-size: 1.875rem;
    font-weight: 400;
    line-height: 1.25;
    text-shadow: 0 3px 12px rgba(0, 0, 0, 0.5);
}
.honeymoon-content h2 {
    margin: 0 0 14px;
    font-size: 4.875rem;
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -0.05em;
    color: #fff75a;
    text-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
}
.honeymoon-content h2 strong {
    font-family: serif;
    font-weight: 700;
    letter-spacing: -0.02em;
}
.honeymoon-content .desc {
    margin: 0 0 24px;
    font-size: 1.375rem;
    font-weight: 400;
    line-height: 1.45;
}
.honeymoon-benefit-list,.info-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.honeymoon-benefit-list li {
    font-size: 1.375rem;
    line-height: 1.45;
    font-weight: 400;
    font-family: 'Pretendard';
}
.honeymoon-benefit-list span {
    display: block;
    margin-bottom: 2px;
    font-family: serif;
    font-size: 0.95em;
    color: #fff;
    opacity: 0.95;
}
.honeymoon-benefit-list strong {
    color: #fff75a;
    font-weight: 600;
}
.price-box {
    position: absolute;
    right: 7.25rem;
    bottom: 8.125rem;
    text-align: right;
    color: #fff75a;
    text-shadow: 0 4px 18px rgba(0, 0, 0, 0.55);
}
.info-list {padding-top: 2rem;}
.info-list li {
    font-size: 1.25rem;
    line-height: 2;
    font-family: 'Pretendard';
}
.price-box span {
    display: block;
    margin-bottom: 4px;
    font-size: 1.125rem;
    font-weight: 700;
    color: #fff;
}
.price-box strong {
    display: block;
    font-size: 4.625rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.06em;
}
.honeymoon-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 32px;
    min-width: 220px;
    height: 50px;
    padding: 0 28px;
    border-radius: 999px;
    background: #fff75a;
    color: #111;
    font-size: 18px;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.3);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.honeymoon-cta:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.38);
}
.honeymoon-nav {
    position: absolute;
    top: 50%;
    z-index: 20;
    width: 58px;
    height: 58px;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.1);
    cursor: pointer;
    transform: translateY(-50%);
    transition: background 0.25s ease, transform 0.25s ease;
}
.honeymoon-nav::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 16px;
    height: 16px;
    border-top: 3px solid #fff75a;
    border-right: 3px solid #fff75a;
}
.honeymoon-prev {left: 2.75rem;}
.honeymoon-next {right: 2.75rem;}
.honeymoon-prev::before {
    left: 24px;
    transform: translateY(-50%) rotate(-135deg);
}
.honeymoon-next::before {
    right: 24px;
    transform: translateY(-50%) rotate(45deg);
}
.honeymoon-nav:hover {
    transform: translateY(-50%) scale(1.06);
}
/* 페이지네이션 안 쓸 경우 */
.mo-only {display: none;}


/* 섹션17 : 수트 */
.suit-section {
    display: flex;
    align-items: center;
    overflow: hidden;
    max-height: 700px;
    background: #111;
    color: #fff;
}
.suit-wrap {
    flex: 1;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 4.5rem 4.375rem;
}
.suit-head {
    text-align: center;
    margin-bottom: 3.25rem;
}
.suit-kicker {
    margin: 0 0 12px;
    font-size: 1rem;
    letter-spacing: 0.22em;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.85);
}
.suit-head h2,.hanbok-head h2,.ring-head h2 {
    margin: 0;
    font-size: 4rem;
    line-height: 1.08;
    font-weight: 850;
    letter-spacing: -0.055em;
}
.suit-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(340px, 1fr));
    gap: 2rem;
}
.suit-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 300px;
    padding: 2.375rem 2.125rem;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(8px);
}
.suit-card h3 {
    margin: 0 0 2.25rem;
    font-size: 2.75rem;
    line-height: 1.08;
    letter-spacing: -0.055em;
    font-weight: 850;
}
.suit-list {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.suit-list li {
    font-size: 1.125rem;
    line-height: 1.65;
    letter-spacing: -0.055em;
    white-space: nowrap;
}

/* 섹션18 : 한복 */
.hanbok-section {
    display: flex;
    align-items: center;
    overflow: hidden;
    max-height: 750px;
    background: #c9bea6;
    color: #35312a;
    flex-direction: row-reverse;
}
#hanbok-title {color: #643f1d;}
.hanbok-wrap {
    flex: 1;
    max-width: 750px;
    margin: 0 auto;
    padding: 0;
}
.hanbok-head {
    text-align: center;
    margin-bottom: 2rem;
}
.hanbok-kicker {color: rgba(96, 23, 1, 0.5);}
.hanbok-card-grid {
    display: grid;
    gap: 1rem;
}
.hanbok-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.5rem 2rem;
    border-radius: 28px;
    background: rgba(194, 116, 0, 0.16);
    backdrop-filter: blur(8px);
}
.hanbok-card h3 {
    margin: 0;
    font-size: 2.75rem;
    line-height: 1.08;
    letter-spacing: -0.055em;
    font-weight: 850;
}
.hanbok-list {
    list-style: none;
    padding: 0;
}
.hanbok-list li {
    font-size: 1.125rem;
    line-height: 2;
    letter-spacing: -0.055em;
    white-space: nowrap;
}

/* 섹션19 : 에물 */
.ring-section {
    display: flex;
    align-items: center;
    overflow: hidden;
    max-height: 700px;
    background: #c0c0c0;
    color: #000;
}
.ring-wrap {
    flex: 1;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 4.5rem 4.375rem;
}
.ring-head {
    text-align: center;
    margin-bottom: 3.25rem;
}
.ring-kicker {
    margin: 0 0 12px;
    font-size: 1rem;
    letter-spacing: 0.22em;
    font-weight: 400;
    color: rgba(11, 24, 59, 0.85);
}
.ring-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(340px, 1fr));
    gap: 2rem;
}
.ring-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 300px;
    padding: 2.375rem 2.125rem;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(8px);
    color: #040a3a;
}
#ring-title {color: #040a3a;}
.ring-card h3 {
    margin: 0 0 2.25rem;
    font-size: 2.75rem;
    line-height: 1.08;
    letter-spacing: -0.055em;
    font-weight: 850;
}
.ring-list {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ring-list li {
    font-size: 1.125rem;
    line-height: 1.65;
    letter-spacing: -0.055em;
    white-space: nowrap;
}

/* 섹션20 : 페이백 */
.payback-section {
    width: 100%;
    background: #efefef;
    padding: 90px 5%;
    box-sizing: border-box;
    font-family: "Pretendard", "Noto Sans KR", sans-serif;
}
.payback-inner {
    width: min(1280px, 100%);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 80px;
}
.payback-copy {
    flex: 1;
    min-width: 420px;
}
.sub-copy {
    margin: 0 0 36px;
    color: #000;
    font-size: 3.625rem;
    font-weight: 300;
    line-height: 1.18;
    letter-spacing: -0.08em;
}
.payback-copy h2 {
    margin: 0;
    color: #000;
    font-size: 5.125rem;
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -0.08em;
    font-family: 'GmarketSans';
}
.payback-copy h2 strong {
    color: #e9358b;
    font-style: normal;
}
.payback-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(430px, 100%);
    margin-top: 58px;
    padding: 24px 36px;
    background: #e9358b;
    color: #fff;
    font-size: 2.375rem;
    font-weight: 300;
    line-height: 1;
    text-decoration: none;
    letter-spacing: -0.06em;
    box-sizing: border-box;
}
.payback-cta span {font-weight: 200;}
.bingo-card {
    position: relative;
    flex: 0 1 680px;
    width: min(100%, 680px);
    background: #fff;
    border-radius: 6px;
    padding: 72px 42px 44px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
    box-sizing: border-box;
}
.card-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 22px;
    background: #e9358b;
    border-radius: 6px 6px 0 0;
}
.bingo-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px 18px;
}
.bingo-item {text-align: center;}
.bingo-circle {
    width: min(100%, 180px);
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 0 auto 12px;
    border-radius: 50%;
    background: #eee;
    color: #aaa;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 23px;
    font-weight: 900;
    line-height: 1.12;
    letter-spacing: -0.07em;
    box-sizing: border-box;
}
.bingo-circle img {width: 80%;}
.bingo-item.active .bingo-circle {
    background: #fff;
    border: 7px solid #e9358b;
    color: #e9358b;
}
.bingo-item p {
    margin: 0;
    color: #222;
    font-size: 25px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: -0.06em;
}
.stamp-img {
    position: absolute;
    right: -78px;
    top: 260px;
    width: 170px;
    height: auto;
    z-index: 3;
}
.bingo-card .benefit-list {
    display: block;
    margin-top: 58px;
}
.benefit-row {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 18px;
}
.benefit-label {
    color: #333;
    font-size: 38px;
    font-weight: 300;
    letter-spacing: -0.08em;
    white-space: nowrap;
}
.dash {
    flex: 1;
    border-top: 2px dashed #bbb;
    transform: translateY(3px);
}
.benefit-row strong {
    min-width: 120px;
    color: #e9358b;
    font-size: 48px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.08em;
    white-space: nowrap;
}

/* 섹션21 : 룰렛 */
.roulette-event-section {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: url(/assets/rullet_bg.webp) center center no-repeat;
    padding: 90px 5%;
    box-sizing: border-box;
    font-family: "GmarketSans", "Noto Sans KR", sans-serif;
}
.roulette-event-inner {
    position: relative;
    z-index: 2;
    width: min(1440px, 100%);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 70px;
}
.roulette-img-area {
    flex: 0 0 48%;
    position: relative;
}
.roulette-img {
    display: block;
    width: 100%;
    height: auto;
}
.roulette-copy-area {
    flex: 0 0 48%;
    position: relative;
    text-align: center;
    padding-top: 80px;
}
.roulette-title {
    margin: 0;
    line-height: 1.08;
    letter-spacing: -0.06em;
}
.roulette-title strong,.roulette-title span {
    display: block;
    font-size: 5.625rem;
    font-weight: 900;
    -webkit-text-stroke: 8px #0b1022;
    paint-order: stroke fill;
    text-shadow: 8px 8px 0 rgba(0, 0, 0, 0.25);
}
.roulette-title strong {color: #fff;}
.roulette-title span {
    margin-top: 14px;
    color: #ff5dc9;
}
.roulette-cta {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: min(480px, 100%);
    margin-top: 58px;
    padding: 26px 46px;
    background: #ff27b7;
    color: #fff;
    text-decoration: none;
    font-size: 2.625rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: -0.05em;
    box-sizing: border-box;
}
.roulette-cta span {font-weight: 200;}
.curtain {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 170px;
    z-index: 1;
    pointer-events: none;
    opacity: 0.65;
}
.curtain-left {
    left: 0;
    background: linear-gradient(90deg,
            rgba(190, 20, 30, 0.45) 0%,
            rgba(255, 130, 130, 0.35) 45%,
            rgba(255, 255, 255, 0) 100%);
}
.curtain-right {
    right: 0;
    background: linear-gradient(-90deg,
            rgba(190, 20, 30, 0.45) 0%,
            rgba(255, 130, 130, 0.35) 45%,
            rgba(255, 255, 255, 0) 100%);
}

/* faq */
.faq-section {
    width: 100%;
    padding: 100px 5%;
    background: url(/assets/faq_bg.webp)center center no-repeat;
    background-size: cover;
    box-sizing: border-box;
    font-family: "Pretendard", "Noto Sans KR", sans-serif;
}
.faq-inner {
    width: min(1100px, 100%);
    margin: 0 auto;
}
.faq-head {
    text-align: center;
    margin-bottom: 56px;
}
.faq-eyebrow {
    display: inline-block;
    margin: 0 0 14px;
    padding: 8px 18px;
    border-radius: 999px;
    background: #ffe3ef;
    color: #e9358b;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.08em;
}
.faq-head h2 {
    margin: 0;
    color: #111;
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: -0.06em;
}
.faq-head p:not(.faq-eyebrow) {
    margin: 18px 0 0;
    color: #666;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.04em;
}
.faq-list {
    display: flex;
    flex-direction: column;
    gap: 22px;
}
.faq-item {
    margin: 0;
    padding: 34px 38px;
    background: rgba(255, 255, 255, 0.35);
    border: 1px solid #f2d5e2;
    border-radius: 24px;
    box-shadow: 0 14px 34px rgba(233, 53, 139, 0.08);
    box-sizing: border-box;
}
.faq-item dt {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 0 0 18px;
    color: #111;
    font-size: 1.875rem;
    font-weight: 900;
    line-height: 1.35;
    letter-spacing: -0.06em;
}
.faq-item dt span {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #e9358b;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
    transform: translateY(2px);
}
.faq-item dd {
    margin: 0;
    padding-left: 48px;
    color: #444;
    font-size: 1.375rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: -0.04em;
    word-break: keep-all;
}

/* 제휴업체 */
.partner-section {
    width: 100%;
    padding: 110px 5%;
    background: linear-gradient(0deg, #ffe7f5, #fff);
    box-sizing: border-box;
    font-family: "Pretendard", "Noto Sans KR", sans-serif;
}
.partner-inner {
    width: min(1180px, 100%);
    margin: 0 auto;
}
.partner-head {
    text-align: center;
    margin-bottom: 60px;
}
.partner-eyebrow {
    display: inline-block;
    margin: 0 0 14px;
    padding: 8px 18px;
    border-radius: 999px;
    background: #ffe3ef;
    color: #e9358b;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.08em;
}
.partner-head h2 {
    margin: 0;
    color: #111;
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: -0.06em;
}
.partner-head p:not(.partner-eyebrow) {
    width: min(860px, 100%);
    margin: 20px auto 0;
    color: #555;
    font-size: 1.375rem;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: -0.04em;
    word-break: keep-all;
}
.partner-board {
    margin: 0;
    padding: 0;
}
.partner-row {
    display: flex;
    align-items: flex-start;
    gap: 40px;
    margin-bottom: 24px;
    padding: 30px 32px;
    background: rgba(255, 255, 255, 0.5);
    border: 1px solid #e7e2e5;
    border-radius: 24px;
    box-sizing: border-box;
}
.partner-row:last-child {margin-bottom: 0;}
.partner-row dt {
    flex: 0 0 200px;
    margin: 0;
    color: #111;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: -0.04em;
    word-break: keep-all;
}
.partner-row dd {
    flex: 1;
    margin: 0;
    color: #555;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: -0.03em;
    word-break: keep-all;
}
#ms_exco {
    background: #fff;
    display: flex;
    justify-content: center;
}
.con-m {display: none;}

/* ==============================
   신청 폼
============================== */
.form {
    width: 100%;
    margin: 0 auto;
    padding: 120px 20px;
    background: url("/assets/form_bg.webp") center / cover no-repeat;
    box-sizing: border-box;
}
/* 기존 form 전역 스타일 초기화 */
.form>form {
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}
.form-box {width: 100%;}
.form-wrap {
    width: min(100%, 1000px);
    margin: 0 auto;
    padding: 50px 50px 70px;
    background: #fff;
    box-sizing: border-box;
}
.form-wrap dl {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    align-items: center;
    column-gap: 15px; 
    margin: 0;
    padding: 15px 0;
    border-bottom: 1px solid #dbdbdb;
}
/* 신랑·신부 2열 */
.form-wrap .name-row {
    grid-template-columns:
        110px minmax(0, 1fr) 110px minmax(0, 1fr);
}
.form-wrap dt, .form-wrap dd {
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    box-sizing: border-box;
}
.form-wrap dt {
    padding: 10px 14px;
    color: #222;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    font-family: 'Pretendard';
}
.form-wrap dd {
    padding: 10px 0;
    color: #222;
    font-size: 15px;
    line-height: 1.4;
    text-align: left;
}
.form-wrap label {
    color: inherit;
    font-size: inherit;
}
/* 입력 요소 */
.form-wrap .input-select, .form-wrap .input-text {
    height: 46px;
    margin: 0;
    border: 1px solid #ddd;
    border-radius: 3px;
    outline: none;
    background: #f2f2f2;
    color: #444;
    font-family: inherit;
    font-size: 15px;
    line-height: 46px;
    box-sizing: border-box;
}
.form-wrap .input-text {
    width: 100%;
    padding: 0 15px;
}
.form-wrap .input-select {
    width: 90px !important;
    flex: 0 0 90px;
    padding: 0 12px;
    appearance: auto;
}
.form-wrap .input-select:focus, .form-wrap .input-text:focus {
    border-color: #333;
    background: #fff;
}
/* 전화번호 */
.phone-inputs {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}
.form-wrap .wd-call {
    width: auto !important;
    min-width: 0;
    flex: 1;
    text-align: center;
}
.phone-inputs>span {
    flex: 0 0 auto;
    color: #777;
}
/* 방문 날짜 */
.visit-check {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    width: 100%;
}
.visit-check .checkbox-radio {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 10px;
    border: 1px solid #ddd;
    border-radius: 3px;
    background: #f2f2f2;
    color: #333;
    cursor: pointer;
    box-sizing: border-box;
}
.visit-check input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}
.visit-check .radio-text {
    position: relative;
    z-index: 2;
    font-size: 14px;
    font-weight: 500;
}
.visit-check .checkbox-radio:has(input:checked) {
    border-color: #e6007e;
    background: #e6007e;
    color: #fff;
}
.visit-check .radiomark {display: none;}
/* 개인정보 내용 */
.form-wrap .privacy-box {
    width: 100%;
    height: 90px;
    max-height: none;
    margin-top: 20px;
    padding: 15px 4%;
    overflow-y: auto;
    border: 0;
    border-radius: 0;
    background: #f5f5f5;
    color: #666;
    font-size: 0.9rem;
    line-height: 1.25;
    text-align: left;
    box-sizing: border-box;
    font-family: 'Pretendard';
}
/* 개인정보 동의 */
.privacy-agree {margin-top: 15px;}
.privacy-agree .checkbox-radio {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding-left: 30px;
    color: #333;
    font-size: 14px;
    cursor: pointer;
}
.privacy-agree input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}
.privacy-agree .checkmark {
    position: absolute;
    left: 0;
    top: 50%;
    width: 20px;
    height: 20px;
    border: 1px solid #bbb;
    background: #fff;
    transform: translateY(-50%);
    box-sizing: border-box;
}
.privacy-agree input:checked+.checkmark {
    border-color: #111;
    background: #111;
}
.privacy-agree input:checked+.checkmark::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg);
}
/* 버튼 */
.form-wrap .center {
    margin-top: 50px;
    text-align: center;
}
.form-submit {
    width: min(100%, 620px);
    min-height: 100px;
    padding: 10px 20px 5px;
    border: 0;
    border-radius: 0;
    background: #111;
    color: #fff;
    font-family: inherit;
    font-size: 2.125rem;
    font-weight: 400;
    letter-spacing: -0.05em;
    cursor: pointer;
    transition:
        background 0.2s ease,
        transform 0.2s ease;
}
.form-submit:hover {
    background: #e6007e;
    transform: translateY(-2px);
}

/* ========================================
   반응형 스타일
======================================== */
@media (max-width: 1250px) {
    .checkpoint-content {padding: 2.5rem;}
    .checkpoint-title strong {font-size: 1.3em;}
    .checkpoint-list li::before {
        width: 1.75rem;
        height: 1.5rem;
    }
    .checkpoint-button {
        gap: 2rem;
        min-height: 6rem;
        padding: 0 2rem;
        font-size: 2.125rem;
        letter-spacing: -0.06em;
    }
    .cost-banner {
        background: url("/assets/section5_bg.webp") center no-repeat;
        margin-bottom: -2px;
    }
    .benefit-banner {
        padding: 4rem 2rem;
        flex-direction: column;
        text-align: center;
        background-color: #eee;
        background-position: right bottom;
        background-size: contain;
    }
    .benefit-content {
        flex: 0 1 32rem;
        width: 40%;
        min-height: 32rem;
        margin-left: 0;
        align-items: center;
    }
    .benefit-button {
        width: min(100%, 27.875rem);
        margin-top: 3.5rem;
        font-size: 2.125rem;
    }
    .benefit-banner .benefit-list {
        flex: 1 1 44rem;
        width: auto;
        max-width: 48rem;
        margin: 0;
        gap: 1rem;
    }
    .benefit-banner .benefit-list li span {padding: 1rem 0;}
    .benefit-banner .benefit-list li {width: 100%;}
    .cash-event {
        min-height: 73.75rem;
        padding-top: 4rem;
        background: url(/assets/money_bg_m.webp)center center;
        background-size: cover;
    }
    .cash-event__inner {
        grid-template-areas:
            "header"
            "content";
        grid-template-columns: minmax(0, 1fr);
        align-content: start;
        gap: 2.25rem;
        width: min(100%, 1000px);
    }
    .cash-event__content {
        width: min(100%, 1000px);
        margin: 0 auto;
        padding-bottom: 21rem;
    }
    .cash-event__header {
        align-items: center;
        text-align: center;
    }
    .cash-event__title {
        display: flex;
        flex-direction: column;
        font-size: 9rem;
        line-height: 0.88;
        text-align: center;
    }
    .cash-event__title strong {display: block;}
    .cash-event__category {font-size: 1.25rem;}
    .honeymoon-slider {min-height: 48.75rem;}
    .honeymoon-content {
        width: min(calc(100% - 3rem), 73.75rem);
        padding: 5rem 4.5rem 8.5rem;
    }
    .honeymoon-nav {
        top: auto;
        bottom: 2rem;
        width: 3.25rem;
        height: 3.25rem;
        background: rgba(0, 0, 0, 0.35);
        transform: none;
    }
    .honeymoon-prev {left: calc(50% - 4.25rem);}
    .honeymoon-next {right: calc(50% - 4.25rem);}
    .honeymoon-nav::before {
        width: 0.875rem;
        height: 0.875rem;
        border-width: 0.1875rem 0.1875rem 0 0;
    }
    .honeymoon-prev::before {left: 1.125rem;}
    .honeymoon-next::before {right: 1.125rem;}
    .honeymoon-nav:hover {transform: scale(1.06);}
    .suit-section,
    .hanbok-section,
    .ring-section {
        max-height: none;
        flex-direction: column;
    }
    .suit-section > img,
    .hanbok-section > img,
    .ring-section > img {
        flex: 0 0 auto;
        width: 100%;
        height: 40rem;
        object-fit: cover;
        object-position: center top;
    }
    .hanbok-section > img {object-position: center 40% !important;}
    .ring-section > img {object-position: left 50% !important;}
    .suit-wrap,
    .hanbok-wrap,
    .ring-wrap {
        flex: none;
        width: min(100%, 64rem);
        max-width: none;
        min-width: 0;
        margin: 0 auto;
        padding: 4.5rem 2.5rem;
    }
    .suit-card-grid,
    .hanbok-card-grid,
    .ring-card-grid {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .suit-card,
    .hanbok-card,
    .ring-card {min-width: 0;}
    .suit-list li,
    .hanbok-list li,
    .ring-list li {white-space: normal;}
    .money-event-banner {padding: 120px 2% 0 2%;}
    .money-event-inner {
        width: min(1100px, 100%);
        gap: 50px;
    }
    .cta {
        gap: 25px;
        margin-top: 56px;
        padding: 1.5rem 2rem 1rem;
        background: #000;
        color: #fff;
        font-size: 2.5rem;
    }
    .form {background: url("/assets/form_bg.webp") center left / cover no-repeat;}
    .form-wrap {width: min(100%, 800px);}
}

@media (max-width: 1100px) {
    .nav {display: none;}
    .hero__inner {
        display: flex;
        flex-direction: column;
        min-height: 1100px;
    }
    .hero__text {
        position: relative;
        z-index: 3;
        width: 100%;
        padding: 55px 24px 0;
        text-align: center;
        background: #fff;
    }
    .hero__image {
        position: relative;
        z-index: 1;
        width: 100%;
        height: 1100px;
        min-height: 0;
        /* 텍스트 영역 뒤쪽으로 살짝 올리기 */
        margin-top: -40px;
        overflow: hidden;
    }
    .hero__image::before {
        content: "";
        position: absolute;
        z-index: 2;
        top: 0;
        left: 0;
        width: 100%;
        height: 170px;
        pointer-events: none;
        /* 흰 배경에서 이미지로 자연스럽게 연결 */
        background: linear-gradient(
            to bottom,
            #fff 0%,
            rgba(255, 255, 255, 0.95) 20%,
            rgba(255, 255, 255, 0.55) 55%,
            rgba(255, 255, 255, 0) 100%
        );
    }
    .hero__season {font-size: 1.25rem;}
    .hero__title-img {width: min(420px, 100%);}
    .hero__date span {font-size: 2rem;}
    .hero__date strong {font-size: 3.5rem;}
    .hero__place {
        width: min(420px, 100%);
        margin: 0 auto;
        font-size: 2.25rem;
    }
    .hero__image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        /* 이미지의 윗부분을 더 보여줌 */
        object-position: center top;
    }
    .hero__place {
        position: relative;
        z-index: 4;
    }

    .wedding-event-banner {
        width: 100%;
        min-height: 7.5rem;
        padding: 2rem;
        background: #fdeaf6;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 2rem;
        overflow: hidden;
        box-sizing: border-box;
    }
    .wedding-event-banner img {max-width: 100px;}
    .event-badge {
        padding: 4px 10px 0 10px;
        font-size: 1rem;
        line-height: 1.25;
    }
    .banner-content h2 {font-size: 2rem;}

    .checkpoint-section {
        display: flex;
        flex-direction: column;
        width: 100%;
        max-height: none;
        overflow: hidden;
        background: #f1f1f1;
    }
    /* 상단 사진 영역 */
    .checkpoint-image {
        width: 100%;
        height: 700px;
        flex: none;
        overflow: hidden;
    }
    .checkpoint-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        /* 사진에서 보여줄 위치 */
        object-position: center 25%;
    }
    /* 하단 텍스트 영역 */
    .checkpoint-content {
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: auto;
        padding: clamp(3rem, 7vw, 5rem) clamp(2rem, 6vw, 4rem);
        box-sizing: border-box;
        align-items: stretch;
        justify-content: flex-start;
        text-align: center;
    }
    .checkpoint-sub {
        margin: 0 0 1.75rem;
        font-size: clamp(1.25rem, 3vw, 1.75rem);
        line-height: 1.4;
    }
    .checkpoint-sub span {
        font-size: inherit;
        font-weight: 600;
    }
    .checkpoint-title {
        margin: 0 0 2.5rem;
        font-size: clamp(3.75rem, 9vw, 6rem);
        line-height: 0.95;
        text-align: center;
    }
    .checkpoint-title strong {
        display: block;
        margin-top: 0.15em;
        font-size: 1.25em;
        line-height: 0.95;
    }
    .checkpoint-list {
        width: min(760px, 100%);
        margin: 0 auto 3rem;
        gap: 1.5rem;
        text-align: left;
    }
    .checkpoint-list li {
        padding-left: 2.75rem;
        font-size: clamp(1.125rem, 2.8vw, 1.5rem);
        line-height: 1.4;
    }
    .checkpoint-list li::before {
        width: 2rem;
        height: 2rem;
        padding-top: 2px;
        font-size: 1.65rem;
    }
    .checkpoint-button {
        width: min(760px, 100%);
        min-height: 5.75rem;
        margin: 0 auto;
        padding: 0 clamp(1.5rem, 5vw, 3rem);
        gap: 2rem;
        font-size: clamp(1.75rem, 4.5vw, 2.75rem);
    }
    .checkpoint-button span {margin-left: auto;}

    .brand-logo:nth-child(5n) {border-right: 1px #d0d0d0;}
    .brand-logo:nth-last-child(-n + 5) {border-bottom: 1px solid #d0d0d0;}

    .cost-banner {
        position: relative;
        display: block;
        width: 100%;
        max-height: none;
        min-height: 1200px;
        margin-bottom: 0;
        overflow: hidden;
        background-image:
            linear-gradient(
                to bottom,
                rgba(0, 0, 0, 0) 25%,
                rgba(0, 0, 0, 0.08) 42%,
                rgba(0, 0, 0, 0.75) 65%,
                #000 82%
            ),
            url("/assets/section5_bg.webp");
        background-repeat: no-repeat;
        background-size: cover;
        background-position: 15% top;
    }
    .cost-banner__content {
        position: absolute;
        z-index: 2;
        left: 50%;
        bottom: 70px;
        width: min(680px, calc(100% - 48px));
        padding: 0;
        transform: translateX(-50%);
        box-sizing: border-box;
        color: #fff;
        text-align: center;
    }
    .cost-banner__eyebrow {
        margin: 0 0 12px;
        font-size: 1rem;
        line-height: 1;
    }
    .cost-banner__label {
        margin: 0 0 12px;
        font-size: 3rem;
        font-weight: 600;
        line-height: 1.05;
    }
    .cost-banner__title {
        margin: 0 0 14px;
        font-size: 5.5rem;
        font-weight: 700;
        line-height: 0.98;
        letter-spacing: -0.08em;
        white-space: nowrap;
    }
    .cost-banner__desc {
        margin: 0 0 28px;
        font-size: 2rem;
        font-weight: 600;
        line-height: 1.15;
        white-space: nowrap;
    }
    .cost-ticket {
        position: relative;
        display: flex;
        width: min(560px, 100%);
        min-height: 185px;
        margin: 0 auto 34px;
        overflow: hidden;
        background: #fff;
        color: #222;
    }
    .cost-ticket__info {
        display: flex;
        flex: 1;
        flex-direction: column;
        justify-content: center;
        gap: 8px;
        padding: 22px 24px;
    }
    .cost-ticket__row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        align-items: baseline;
        column-gap: 8px;
    }
    .cost-ticket__name {
        text-align: left;
        font-size: 2.5rem;
        font-weight: 500;
        letter-spacing: -0.06em;
    }
    .cost-ticket__price {
        color: #ff13bd;
        font-size: 5rem;
        font-weight: 800;
        line-height: 0.9;
        letter-spacing: -0.08em;
    }
    .cost-ticket__unit {
        font-size: clamp(1.1rem, 3vw, 1.6rem);
        font-weight: 700;
    }
    .cost-ticket__side {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 86px;
        border-left: 4px dotted #222;
    }
    .cost-ticket__side::before,
    .cost-ticket__side::after {
        content: "";
        position: absolute;
        left: -14px;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        background: #000;
    }
    .cost-ticket__side::before {top: -12px;}
    .cost-ticket__side::after {bottom: -12px;}
    .cost-ticket__side span {
        color: #d8d8d8;
        font-size: 1.1rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        writing-mode: vertical-rl;
    }
    .cost-banner__button {
        display: flex;
        align-items: center;
        justify-content: center;
        width: min(480px, 100%);
        min-height: 86px;
        margin: 0 auto;
        padding: 0.5rem 20px 0;
        box-sizing: border-box;
        border-radius: 999px;
        background: linear-gradient(
            90deg,
            #ff00a8 0%,
            #ff22d0 100%
        );
        color: #fff;
        text-decoration: none;
        font-size: 3rem;
        font-weight: 700;
        line-height: 1;
        letter-spacing: -0.06em;
    }
    .event-section {
        min-height: auto;
        padding: 4.5rem 20px 5rem;
        background: #efefef;
    }
    .event-wrap {max-width: 720px;}
    .event-top {
        margin-bottom: 14px;
        font-size: clamp(1.75rem, 4.5vw, 2.5rem);
        line-height: 1.15;
    }
    .event-title {
        margin-bottom: 3.5rem;
        font-size: clamp(4rem, 10vw, 6.5rem);
        line-height: 1.05;
        letter-spacing: -0.06em;
    }
    .event-title span {
        display: block;
        margin-top: 0.15em;
    }
    .event-content {
        display: flex;
        flex-direction: column;
        gap: 3.5rem;
        width: 100%;
    }
    .card-area {
        width: min(100%, 620px);
        flex-direction: row;
        gap: 14px;
    }
    .pay-card,.gift-card {
        width: calc(50% - 7px);
        aspect-ratio: 1.52 / 1;
        object-fit: contain;
        border-radius: 14px;
    }
    .text-area {
        width: 100%;
        text-align: center;
    }
    .badges {
        justify-content: center;
        gap: 12px;
        margin-bottom: 18px;
    }
    .badge {
        min-height: 3.25rem;
        padding: 0.5rem 1.4rem 0;
        font-size: clamp(1.5rem, 4vw, 2.25rem);
        letter-spacing: -0.06em;
    }
    .brand {
        margin-bottom: 14px;
        font-size: clamp(3rem, 8vw, 5rem);
        line-height: 1.08;
        letter-spacing: -0.07em;
    }
    .discount {
        margin-bottom: 2.75rem;
        font-size: clamp(3.5rem, 9vw, 5.5rem);
        line-height: 1;
        letter-spacing: -0.07em;
        white-space: nowrap;
    }
    .discount strong {font-size: 1.25em;}
    .blink-button {
        width: min(100%, 560px);
        min-height: 6.25rem;
        margin: 0 auto;
        padding: 8px 24px 0;
        font-size: clamp(2rem, 5.5vw, 3rem);
        letter-spacing: -0.06em;
    }
    .benefit-banner {
        padding: 4rem 2rem;
        flex-direction: column;
        text-align: center;
        background-color: #eee;
        background-position: right bottom;
        background-size: contain;
    }
    .benefit-content {
        flex: 0 1 32rem;
        width: 100%;
        min-height: 32rem;
        margin-left: 0;
        align-items: center;
    }
    .benefit-button {
        width: min(100%, 27.875rem);
        margin-top: 3.5rem;
        font-size: 2.125rem;
    }
    .benefit-banner .benefit-list {
        flex: 1 1 44rem;
        width: auto;
        max-width: 48rem;
        margin: 0;
        gap: 1rem;
    }
    .benefit-banner .benefit-list li span {padding: 1rem 0;}
    .benefit-banner .benefit-list li {width: 100%;}

    .hall-section {
        padding: 4rem 1.5rem;
        background-position: center center;
    }
    .hall-inner {
        width: min(100%, 680px);
        display: grid;
        grid-template-columns: 1fr;
        gap: 0rem;
        align-items: center;
        justify-items: center;
    }
    .hall-left {
        width: min(100%, 620px);
        height: auto;
        margin: 0 auto;
    }
    .hall-slider-wrap {width: 100%;}
    .hall-slider {
        width: 100%;
        height: auto;
        min-height: 31rem;
    }
    .hall-slide {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .hall-card {width: min(100%, 500px);}
    .hall-dots {margin-top: 0rem;}

    .dress-section {
        min-height: auto;
        padding: 4rem 0 0;
    }
    .dress-inner {
        width:100%;
        min-height: auto;
        display: grid;
        grid-template-columns: 1fr;
        align-items: stretch;
        gap: 0;
    }

    /* 상단 슬라이더 */
    .dress-slider {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        overflow: hidden;
    }
    .dress-track,.dress-slide {height: 100%;}
    .dress-slide img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center top;
    }
    .dress-dots {
        left: 25%;
        bottom: 3.5rem;
        width: auto;
        min-width: 0;
        max-width: none;
        height: auto;
        padding: 0;
        transform: translateX(-50%);
        justify-content: center;
    }

    /* 하단 핑크 콘텐츠 */
    .dress-content {
        width: 100%;
        height: auto;
        display: block;
    }
    .dress-pink-box {
        width: 100%;
        min-height: auto;
        padding: 3rem;
        text-align: center;
    }
    .dress-pink-box h2 {
        font-size: clamp(3.5rem, 10vw, 5.5rem);
        line-height: 1.02;
    }
    .dress-pink-box p {
        margin-top: 2.5rem;
        font-size: clamp(1.2rem, 3.4vw, 1.75rem);
    }
    /* 하단 혜택 영역 */
    .dress-benefit {
        margin-top: 5rem;
        padding: 0 24px 6rem;
    }
    .dress-benefit-list {
        width: min(100%, 620px);
        margin: 0 auto 4rem;
        grid-template-columns: repeat(2, minmax(0, 240px));
        justify-content: center;
    }
    .dress-benefit-card p {font-size: 1rem;}
    .dress-benefit-card {
        width: 100%;
        max-width: 240px;
        margin: 0 auto;
        aspect-ratio: 1 / 1;
        font-size: 2rem;
    }
    .dress-benefit-button {
        gap: 2rem;
        width: min(100%, 560px);
        min-height: 5.5rem;
        padding: 0.5rem 2.5rem 0;
        font-size: clamp(2rem, 5vw, 3rem);
    }

    .money-event-banner {padding: 5rem 24px 0;}
    .money-event-inner {
        width: min(100%, 760px);
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 3rem;
    }
    /* 상단 문구 영역 */
    .copy-area {
        flex: none;
        width: 100%;
        padding-bottom: 0;
        text-align: center;
    }
    .title strong, .title span {
        font-size: clamp(4rem, 10vw, 6.5rem);
        line-height: 0.95;
    }
    .title span {margin-top: 0.15em;}
    .cta {
        width: min(100%, 480px);
        min-height: 5.5rem;
        margin-top: 2.5rem;
        padding: 0 2.5rem;
        box-sizing: border-box;
        gap: 3rem;
        font-size: clamp(1.8rem, 4.5vw, 2.5rem);
    }
    /* 하단 이미지 영역 */
    .money-img {
        flex: none;
        width: min(100%, 680px);
        margin: 0 auto;
    }
    .money-img img {
        width: 100%;
        height: auto;
    }
    .circle-badge {
        left: 4%;
        bottom: 25%;
        width: clamp(130px, 25vw, 190px);
        transform: none;
        font-size: clamp(1.25rem, 3vw, 2rem);
    }

    .payback-section {padding: 5rem 24px;}
    .payback-inner {
        width: min(100%, 760px);
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 4rem;
    }
    /* 상단 문구 */
    .payback-copy {
        flex: none;
        width: 100%;
        min-width: 0;
        text-align: center;
    }
    .sub-copy {
        margin-bottom: 2rem;
        font-size: clamp(2.5rem, 6vw, 4rem);
        line-height: 1.15;
    }
    .payback-copy h2 {
        font-size: clamp(4rem, 10vw, 6.5rem);
        line-height: 1.02;
    }
    .payback-cta {
        width: min(100%, 480px);
        min-height: 5.5rem;
        margin: 2.75rem auto 0;
        padding: 0 2rem;
        font-size: clamp(1.8rem, 4.5vw, 2.5rem);
    }
    /* 하단 빙고 카드 */
    .bingo-card {
        flex: none;
        width: min(100%, 680px);
        padding: 4.5rem 2.5rem 3rem;
    }
    .bingo-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.25rem;
    }
    .bingo-circle {width: min(100%, 150px);}
    .bingo-item p {font-size: clamp(1.2rem, 3vw, 1.6rem);}
    .stamp-img {
        right: -2rem;
        top: 16rem;
        width: clamp(120px, 18vw, 160px);
    }
    .bingo-card .benefit-list {margin-top: 3.5rem;}
    .benefit-label {font-size: clamp(1.8rem, 4.5vw, 2.5rem);}
    .benefit-row strong {
        min-width: auto;
        font-size: clamp(2.5rem, 6vw, 3.5rem);
    }

    .roulette-event-section {
        padding: 5rem 24px;
        background-position: center center;
        background-size: cover;
    }
    .roulette-event-inner {
        width: min(100%, 760px);
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 3rem;
    }
    /* 상단 룰렛 이미지 */
    .roulette-img-area {
        flex: none;
        width: min(100%, 620px);
        margin: 0 auto;
    }
    .roulette-img {
        width: 100%;
        height: auto;
    }
    /* 하단 문구 */
    .roulette-copy-area {
        flex: none;
        width: 100%;
        padding-top: 0;
        text-align: center;
    }
    .roulette-title {line-height: 1.05;}
    .roulette-title strong,
    .roulette-title span {
        font-size: clamp(4rem, 10vw, 6.5rem);
        -webkit-text-stroke: clamp(4px, 0.7vw, 7px) #0b1022;
        text-shadow: 6px 6px 0 rgba(0, 0, 0, 0.25);
    }
    .roulette-title span {margin-top: 0.15em;}
    .roulette-cta {
        width: min(100%, 500px);
        min-height: 5.75rem;
        margin: 2.75rem auto 0;
        padding: 0 2.75rem;
        font-size: clamp(1.9rem, 4.8vw, 2.75rem);
    }
    .curtain {
        width: 110px;
        opacity: 0.45;
    }
}

/* =========================================================
   1100px 이하 모바일/태블릿 최종 보정
   기존 반응형 규칙보다 뒤에 두어 우선 적용합니다.
========================================================= */
@media (max-width: 1100px) {
    /* 공통 */
    .wrap {width: min(100% - 40px, 760px);}
    .nav {display: none;}

    /* HERO */
    .hero__inner {min-height: auto;}
    .hero__image {
        height: clamp(620px, 92vw, 900px);
        margin-top: -35px;
    }

    /* 상품권 배너 */
    .wedding-event-banner {padding: 1.75rem 1.25rem; gap: 1.25rem;}
    .wedding-event-banner img {width: 90px; flex: 0 0 90px;}
    .banner-content h2 {font-size: clamp(1.5rem, 4vw, 2.25rem);}

    /* 체크포인트 */
    .checkpoint-image {height: clamp(320px, 52vw, 560px);}

    /* 브랜드 로고 */
    .brand-power-section {padding: 5rem 20px;}
    .brand-badge {font-size: clamp(1rem, 2.7vw, 1.5rem); white-space: normal;}
    .brand-title {font-size: clamp(4.5rem, 13vw, 7rem);}
    .brand-subtitle {font-size: clamp(2rem, 6vw, 3.5rem); margin-bottom: 2.5rem;}
    .brand-logo-board {grid-template-columns: repeat(4, 1fr); border-width: 4px;}
    .brand-logo {height: clamp(4.5rem, 12vw, 6rem);}
    .brand-logo:nth-child(5n) {border-right: 1px solid #d0d0d0;}
    .brand-logo:nth-child(4n) {border-right: 0;}

    /* 결제 추가할인 */
    .card-area {justify-content: center;}

    /* 통계 */
    .head {align-items: flex-start; flex-direction: column;}
    .head h2 {font-size: clamp(3rem, 8vw, 4.5rem);}
    .stats {grid-template-columns: repeat(2, minmax(0, 1fr));}
    .stat:last-child {grid-column: 1 / -1;}

    /* 웨딩홀 목록 */
    .weddinghall-list-section,
    .weddinghall-list-section2 {padding: 5rem 20px;}
    .weddinghall-title h2 {font-size: clamp(3rem, 8vw, 4.25rem);}
    .weddinghall-grid {grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem;}

    /* 수트 / 한복 / 예물 */
    .suit-section,
    .hanbok-section,
    .ring-section {max-height: none; flex-direction: column;}
    .suit-section > img,
    .hanbok-section > img,
    .ring-section > img {
        width: 100%;
        height: clamp(360px, 58vw, 600px);
        object-fit: cover;
    }
    .suit-wrap, 
    .hanbok-wrap,
    .ring-wrap {width: min(100%, 760px); padding: 4rem 24px;}
    .suit-card-grid,
    .hanbok-card-grid,
    .ring-card-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}

    /* 현금 이벤트 */
    .money-img {width: min(100%, 620px);}

    /* 페이백 */
    .stamp-img {right: 0;}

    /* 룰렛 */
    .roulette-img-area {width: min(88%, 560px);}

    /* 신청 폼 */
    .form {background-position: center;}
    .form-wrap {width: min(100%, 760px);}
    .form-box {padding-inline: 20px;}

    /* 하단 정보성 섹션 */
    .faq-section, .partner-section {padding-inline: 20px;}
}

@media (max-width: 700px) {
    .wrap {width: min(100% - 32px, 560px);}
    .top .wrap {height: 64px;}
    .hero {--hero-header-height: 64px;}
    .hero__text {padding: 38px 18px 0;}
    .hero__title-img {width: min(360px, 92%); margin-bottom: 18px;}
    .hero__date {gap: 5px;}
    .hero__date strong {font-size: clamp(2.75rem, 12vw, 3.5rem);}
    .hero__date em {font-size: 1rem;}
    .hero__date span {font-size: 1.5rem;}
    .hero__place {font-size: clamp(1.5rem, 7vw, 2.25rem); padding: 12px 16px;}
    .hero__image {height: clamp(500px, 125vw, 720px);}

    .wedding-event-banner {gap: .75rem; padding: 1.25rem 1rem;}
    .wedding-event-banner img {width: 72px; flex-basis: 72px;}
    .banner-content h2 {font-size: clamp(1.1rem, 4.6vw, 1.55rem);}

    .checkpoint-image {height: clamp(240px, 68vw, 360px);}
    .checkpoint-content {padding: 2.75rem 20px 3.25rem;}
    .checkpoint-title {font-size: clamp(3rem, 14vw, 4.75rem);}
    .checkpoint-button {
        min-height: 4.75rem;
        font-size: clamp(1.5rem, 6vw, 2rem);
    }
    .checkpoint-button span {
        width: 4rem;
        margin-left: 1rem;
    }
    .brand-power-section {background-size: 140%;}
    .brand-logo-board {grid-template-columns: repeat(3, 1fr);}
    .brand-logo:nth-child(4n) {border-right: 1px solid #d0d0d0;}
    .brand-logo:nth-child(3n) {border-right: 0;}

    .cost-banner {min-height: 920px; background-position: 22% top;}
    .cost-banner__content {width: calc(100% - 32px); bottom: 36px;}
    .cost-banner__label {font-size: 2rem;}
    .cost-banner__title {font-size: clamp(3.3rem, 14vw, 4.8rem);}
    .cost-banner__desc {font-size: clamp(1.45rem, 6vw, 2rem);}
    .cost-ticket {min-height: 145px; margin-bottom: 22px;}
    .cost-ticket__info {padding: 16px 14px;}
    .cost-ticket__name {font-size: clamp(1.35rem, 6vw, 2rem);}
    .cost-ticket__price {font-size: clamp(3rem, 14vw, 4.5rem);}
    .cost-ticket__side {width: 58px;}
    .cost-banner__button {min-height: 68px; font-size: clamp(1.6rem, 7vw, 2.2rem);}

    .cash-event__list {grid-template-columns: repeat(2, minmax(0, 1fr));}
    .cash-event__lead {white-space: normal; font-size: 1.1rem;}
    .cash-event__message {white-space: normal; font-size: 1.45rem;}
    .cash-event__sparkles {display: none;}

    .benefit-banner .benefit-list {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem;}
    .benefit-banner .benefit-list li,
    .benefit-banner .benefit-list li:nth-child(4),
    .benefit-banner .benefit-list li:nth-child(5) {grid-column: auto; width: 100%;}
    .benefit-banner .benefit-list li:last-child {grid-column: 1 / -1; width: calc(50% - .5rem); justify-self: center;}
    
    .sdm-section {padding: 4.5rem 20px;}
    .sdm-inner {max-width: 100%;}
    /* 상단 문구 */
    .sdm-kicker {
        margin-bottom: 16px;
        font-size: clamp(1.75rem, 6vw, 2.25rem);
        line-height: 1.25;
        letter-spacing: -0.05em;
    }
    /* 가격 비교 영역 */
    .sdm-compare {
        gap: 12px;
        margin-bottom: 2.75rem;
    }
    .sdm-compare-box {
        width: calc((100% - 58px) / 2);
        min-height: 6.5rem;
        padding: 14px 10px;
        border-radius: 14px;
    }
    .sdm-compare-box span {
        font-size: clamp(1.1rem, 4vw, 1.5rem);
        line-height: 1.25;
    }
    .sdm-compare-box strong {
        margin-top: 5px;
        font-size: clamp(1.5rem, 5vw, 1.9rem);
    }
    .sdm-vs {
        flex-shrink: 0;
        font-size: clamp(2rem, 7vw, 2.75rem);
    }
    /* 메인 타이틀 */
    .sdm-title-area {margin-bottom: 2.5rem;}
    .sdm-title-area p,.sdm-title-area span {
        font-size: clamp(1.35rem, 5vw, 1.75rem);
        line-height: 1.4;
    }
    .sdm-title-area h2 {
        margin-top: 8px;
        font-size: clamp(2.75rem, 11vw, 4.25rem);
        line-height: 1.05;
    }
    /* 패키지 카드 1열 */
    .sdm-package-list {
        grid-template-columns: 1fr;
        gap: 1.75rem;
        margin-bottom: 3rem;
    }
    .sdm-package-card {
        width: 100%;
        border-radius: 20px;
    }
    .sdm-package-card:hover {
        transform: none;
    }
    /* 카드 상단 */
    .sdm-package-top {
        height: auto;
        min-height: 245px;
        padding: 1.75rem 1.5rem;
        grid-template-rows: auto 1fr;
        row-gap: 1.5rem;
    }
    .sdm-package-label {
        flex-wrap: wrap;
        gap: 6px;
    }
    .sdm-package-label span {font-size: 1.25rem;}
    .sdm-package-label strong {font-size: 1.75rem;}
    /* 메인 패키지 가격 */
    .sdm-package-price > span {
        margin-bottom: 1.25rem;
        font-size: 1.2rem;
    }
    .sdm-package-price-value {gap: 8px;}
    .sdm-package-price-value strong {font-size: clamp(4rem, 16vw, 5.25rem);}
    .sdm-package-price-value em {
        margin-bottom: 5px;
        font-size: 1.25rem;
    }
    /* 서브 패키지 가격 */
    .sdm-sub-price-list {
        height: auto;
        align-self: end;
        gap: 12px;
    }
    .sdm-sub-price span {
        margin-bottom: 1.1rem;
        font-size: 1.15rem;
    }
    .sdm-sub-price strong {font-size: clamp(3.4rem, 14vw, 4.75rem);}
    /* 카드 하단 */
    .sdm-package-content {
        min-height: auto;
        padding: 1.75rem 1.5rem 2rem;
    }
    .sdm-package-content h3 {
        min-height: auto;
        margin-bottom: 1.25rem;
        font-size: clamp(1.4rem, 5vw, 1.65rem);
    }
    .sdm-package-card--main
    .sdm-package-content h3 span,
    .sdm-package-card:not(.sdm-package-card--main)
    .sdm-package-content h3 span {
        font-size: clamp(1.75rem, 6vw, 2rem);
    }
    .sdm-package-content li {
        padding-left: 16px;
        font-size: clamp(1rem, 3.8vw, 1.15rem);
        line-height: 1.65;
    }
    .sdm-package-content li::before {
        top: 0.72em;
        width: 5px;
        height: 5px;
    }
    /* 상담 버튼 */
    .sdm-button {
        gap: 1rem;
        width: 100%;
        min-height: 5rem;
        padding: 8px 18px 0;
        border-radius: 7px;
        font-size: clamp(2rem, 8vw, 2.75rem);
    }
    .sdm-button span {font-size: 1.1em;}

    .event-section {padding: 4rem 18px;}
    .event-title {font-size: clamp(3.3rem, 15vw, 5rem);}
    .card-area {gap: 10px;}
    .pay-card,
    .gift-card {width: calc(50% - 5px);}
    .brand {font-size: clamp(2.6rem, 10vw, 4rem);}
    .discount {font-size: clamp(2.5rem, 10vw, 4rem);}
    .blink-button {min-height: 5rem; font-size: clamp(1.5rem, 6vw, 2.2rem);}

    .stats {grid-template-columns: 1fr;}
    .stat:last-child {grid-column: auto;}

    .hall-section {padding: 3rem 18px;}
    .hall-inner {width: 100%;}

    .weddinghall-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
    .weddinghall-name {font-size: 1rem; min-height: 52px;}
    .weddinghall-button {min-height: 4.75rem; gap: 2rem; font-size: clamp(1.5rem, 6vw, 2rem);}

    .dress-section {padding-top: 0;}
    .dress-slider {aspect-ratio: 1 / 1.08;}
    .dress-pink-box {padding: 3rem 20px;}
    .dress-benefit {margin-top: 3.5rem; padding-inline: 18px;}
    .dress-benefit-list {
        width: min(100%, 420px);
        grid-template-columns: repeat(2, minmax(0, 180px));
        gap: 1.25rem;
    }
    .dress-benefit-card {max-width: 180px;}

    .studio-slider-area {padding: 0 1rem;}
    .studio-nav {width: 3rem; height: 3rem;}
    .studio-prev {left: .4rem;}
    .studio-next {right: .4rem;}

    .money-event-banner {padding: 3.5rem 18px 0;}
    .title strong,
    .title span {font-size: clamp(3.25rem, 15vw, 5rem);}
    .cta {min-height: 4.75rem; font-size: clamp(1.5rem, 6vw, 2rem);}
    .circle-badge {width: clamp(100px, 28vw, 140px); font-size: clamp(1rem, 4vw, 1.35rem);}

    .honeymoon-slider {min-height: 900px;}
    .honeymoon-content {
        width: 100%;
        height: 90%;
        padding: 0rem 2rem 2rem;
    }
    .honeymoon-content .eyebrow {font-size: 1.2rem;}
    .honeymoon-content h2 {font-size: 3.25rem;}
    .honeymoon-content .desc,
    .honeymoon-benefit-list li,
    .info-list li {font-size: 1.25rem; line-height: 1.65;}
    .price-box {right: 2rem; bottom: 5rem;}
    .price-box strong {font-size: 4rem;}
    .honeymoon-nav {
        bottom: 1.5rem;
        width: 3rem;
        height: 3rem;
    }

    .suit-section > img,
    .hanbok-section > img,
    .ring-section > img {height: clamp(280px, 76vw, 420px);}
    .suit-card-grid,
    .hanbok-card-grid,
    .ring-card-grid {grid-template-columns: 1fr;}
    .suit-card, .hanbok-card, .ring-card {
        min-height: auto;
        padding: 2rem;
    }

    .payback-section {padding: 4rem 18px;}
    .bingo-card {padding: 3rem 1rem 2rem; width: 90%;}
    .bingo-list {grid-template-columns: repeat(2, minmax(0, 1fr));}
    .bingo-circle {width: min(100%, 180px);}
    .stamp-img {right: -5rem; top: 22rem; width: 200px;}
    .benefit-row {gap: 10px;}
    .benefit-label {font-size: clamp(1.3rem, 5vw, 1.8rem);}
    .benefit-row strong {font-size: clamp(2rem, 7vw, 2.75rem);}


    .roulette-title strong,
    .roulette-title span {font-size: clamp(3rem, 13vw, 4.6rem); -webkit-text-stroke-width: 4px;}
    .roulette-cta {min-height: 4.75rem; font-size: clamp(1.5rem, 6vw, 2.1rem);}
    .curtain {width: 70px;}
    .form-wrap .input-select, .form-wrap .input-text {width: 100px;}
    .form-wrap {padding : 2rem 2rem 3rem;}
    .form-box {padding-inline: 16px;}
    .form dl {grid-template-columns: 1fr; gap: 8px;}
    .form dt {padding: 0;}
    .name-row #in_name, .name-row #in_2{width: 150px;}
    .phone-inputs {grid-template-columns: 1fr auto 1fr auto 1fr;}
    .partner-row {
        flex-direction: column;
        gap: 1rem;
    }
    .partner-row dt {flex: auto;}
    .form-wrap .name-row {
        grid-template-columns:
            max-content minmax(0, 1fr)
            max-content minmax(0, 1fr);
        column-gap: 10px;
    }
    .form-submit {
        width: min(100%, 620px);
        min-height: 70px;
        padding: 10px 20px 5px;
        font-size: 2.5rem;
    }
    .con-pc {display: none;}
    .con-m {display: block;}
}
/* =========================================================
   핸드폰 모바일 최종 반응형
   적용 범위 : 480px 이하 / 최소 320px
   반드시 CSS 파일 가장 마지막에 추가
========================================================= */

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

    /* =========================
       공통
    ========================= */
    html {
        font-size: 14px;
        overflow-x: hidden;
    }
    body {
        min-width: 320px;
        overflow-x: hidden;
        word-break: keep-all;
    }
    img, video, iframe {
        max-width: 100%;
        height: auto;
    }

    main,
    main > section,
    section,
    .wrap {
        min-width: 0;
        max-width: 100%;
    }

    .wrap {
        width: calc(100% - 32px);
        margin: 0 auto;
    }

    /* 모바일에서 hover 움직임 방지 */
    .sdm-package-card:hover,
    .weddinghall-card:hover,
    .studio-card:hover,
    .checkpoint-button:hover,
    .weddinghall-button:hover,
    .dress-benefit-button:hover,
    .studio-button:hover {
        transform: none;
    }


    /* =========================
       HEADER
    ========================= */
    .top .wrap {display: none;}

    /* =========================
       HERO
    ========================= */
    .hero {
        --hero-header-height: 58px;
        min-height: auto;
        padding-top: var(--hero-header-height);
    }

    .hero__inner {
        display: flex;
        flex-direction: column;
        min-height: auto;
    }

    .hero__text {
        width: 100%;
        padding: 0;
    }

    .hero__season {
        margin-bottom: 6px;
        font-size: 1rem;
    }

    .hero__title-img {
        width: min(290px, 88%);
        margin: 0 auto 14px;
    }

    .hero__date {
        gap: 5px;
        margin-bottom: 15px;
    }

    .hero__date strong {
        font-size: clamp(2.65rem, 13vw, 3.4rem);
        letter-spacing: -0.07em;
    }

    .hero__date em {
        font-size: 0.9rem;
    }

    .hero__date span {
        font-size: 1.35rem;
    }

    .hero__place {
        width: min(100%, 330px);
        padding: 11px 12px;
        font-size: 2rem;
        font-weight: 550;
        line-height: 1.15;
    }

    .hero__image {
        width: 100%;
        height: clamp(430px, 132vw, 610px);
        min-height: 0;
        margin-top: -20px;
    }

    .hero__image::before {
        height: 90px;
    }

    .hero__image img {
        object-position: center top;
    }

    /* =========================
       체크포인트
    ========================= */
	.checkpoint-content {
        padding: 2rem 20px;
    }
    .checkpoint-image {
        width: 100%;
        height: 400px;
    }
    .checkpoint-sub {
        font-size: 1.5rem;
        line-height: 1.55;
    }
    .checkpoint-title {font-size:3rem;}
    .checkpoint-list li {
        padding-left: 2.5rem;
        font-size: 1.25rem;
        line-height: 1.5;
    }
    .checkpoint-list li::before {
        width: 22px;
        height: 20px;
        border-width: 1px;
        font-size: 1.25rem;
    }
    .checkpoint-button {
        width: 100%;
        min-height: 58px;
        padding: 4px 18px 0;
        gap: 0;
        font-size: 1.75rem;
    }
    .checkpoint-button span {
        width: 2rem;
        height: 1px;
        margin-left: 2rem;
    }
    .checkpoint-button span::after {
        width: 12px;
        height: 12px;
    }


    /* =========================
       브랜드 로고
    ========================= */
    .brand-badge {
        min-height: 36px;
        padding: 10px 15px 7px;
        border-radius: 7rem;
        font-size: 1.25rem;
        line-height: 1;
    }
    .brand-title {font-size: 4rem;}
    .brand-subtitle {
        margin-bottom: 26px;
        font-size: clamp(1.65rem, 8vw, 2.4rem);
        line-height: 1.2;
    }
    .brand-logo-board {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        border-width: 3px;
    }
    .brand-logo {
        height: 70px;
        padding: 8px;
    }
    .brand-logo:nth-child(4n),
    .brand-logo:nth-child(5n) {
        border-right: 1px solid #d0d0d0;
    }
    .brand-logo:nth-child(3n) {border-right: 0;}
    .brand-logo:nth-last-child(-n + 5) {
        border-bottom: 1px solid #d0d0d0;
    }

    /* =========================
       가성비 스드메
    ========================= */
    .cost-banner {
        min-height: 650px;
        background-position: 21% top;
    }
    .cost-banner__content {
        bottom: 28px;
        width: calc(100% - 28px);
    }
    .cost-banner__eyebrow {
        margin-bottom: 1rem;
        font-size: 1.25rem;
    }
    .cost-banner__label {
        margin-bottom: 1rem;
        font-size: 1.75rem;
    }
    .cost-banner__title {
        margin-bottom: 8px;
        font-size: clamp(2.7rem, 14vw, 4rem);
        white-space: normal;
    }
    .cost-banner__desc {
        margin-bottom: 18px;
        white-space: normal;
    }
    .cost-ticket {
        width: 100%;
        min-height: 126px;
        margin-bottom: 18px;
    }
    .cost-ticket__info {
        gap: 7px;
        padding: 14px 12px;
    }
    .cost-ticket__row {
        grid-template-columns: minmax(0, 1fr) auto auto;
        column-gap: 5px;
        padding: 0 1.5rem;
    }
    .cost-ticket__name {font-size: clamp(1.2rem, 5.5vw, 1.55rem);}
    .cost-ticket__price {font-size: clamp(2.8rem, 13vw, 3.8rem);}
    .cost-ticket__unit {font-size: 0.95rem;}
    .cost-ticket__side {
        width: 48px;
        border-left-width: 3px;
    }
    .cost-ticket__side span {font-size: 0.75rem;}
    .cost-ticket__side::before,
    .cost-ticket__side::after {
        left: -10px;
        width: 18px;
        height: 18px;
    }
    .cost-ticket__side::before {top: -9px;}
    .cost-ticket__side::after {bottom: -9px;}
    .cost-banner__button {
        width: 100%;
        min-height: 58px;
        padding-top: 5px;
        font-size: 2rem;
    }


    /* =========================
       추가혜택
    ========================= */
    .benefit-banner {
        display: block;
        min-height: auto;
        padding: 2rem 16px;
        background-position: right bottom;
    }
    .benefit-content {
        width: 100%;
        min-height: auto;
        margin: 0 0 34px;
        align-items: center;
        text-align: center;
    }
    .benefit-title strong {font-size: 3.75rem;}
    .benefit-title span {
        margin-top: 15px;
        font-size: clamp(2rem, 9vw, 2.8rem);
    }
    .benefit-title em {font-size: clamp(2.5rem, 11vw, 3.5rem);}
    .benefit-button {
        width: min(100%, 310px);
        min-height: 58px;
        margin-top: 28px;
        gap: 20px;
        padding-top: 6px;
        font-size: 2rem;
    }
    .benefit-button span {font-size: 2.5rem}
    .benefit-banner .benefit-list {
        width: 100%;
        max-width: 430px;
        margin: 0 auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .benefit-banner .benefit-list li,
    .benefit-banner .benefit-list li:nth-child(4),
    .benefit-banner .benefit-list li:nth-child(5) {
        grid-column: auto;
        width: 100%;
        min-width: 0;
        font-size: 1rem;
        white-space: normal;
    }
    .benefit-banner .benefit-list li:last-child {
        grid-column: 1 / -1;
        width: calc(50% - 6px);
        justify-self: center;
    }
    .benefit-banner .benefit-list li span {
        padding: 12px 5px;
    }


    /* =========================
       스드메 패키지
    ========================= */
    .sdm-section {
        padding: 2rem 16px;
    }

    .sdm-compare {
        gap: 7px;
    }

    .sdm-compare-box {
        width: calc((100% - 42px) / 2);
        min-height: 88px;
        padding: 12px 6px;
    }

    .sdm-compare-box span {
        font-size: clamp(0.88rem, 4vw, 1.05rem);
    }

    .sdm-compare-box strong {
        font-size: clamp(1.2rem, 5vw, 1.5rem);
    }

    .sdm-vs {
        font-size: 1.7rem;
    }

    .sdm-title-area p,
    .sdm-title-area span {
        font-size: clamp(1.05rem, 4.7vw, 1.35rem);
    }

    .sdm-title-area h2 {
        font-size: clamp(2.45rem, 11vw, 3.5rem);
    }

    .sdm-package-price-value strong {
        font-size: clamp(4rem, 20vw, 5rem);
    }

    .sdm-sub-price strong {
        font-size: clamp(2.8rem, 14vw, 3.7rem);
    }

    .sdm-package-content {
        padding: 24px 20px 28px;
    }

    .sdm-button {
        min-height: 62px;
        font-size: clamp(1.45rem, 7vw, 2rem);
    }
    .sdm-package-top {
        min-height: 160px;
        padding: 1.5rem;
    }
    .sdm-sub-price-list {
        height: auto;
        align-self: auto;
        gap: 0;
    }

    /* =========================
       온누리 / 대구로페이 이벤트
    ========================= */
    .event-section {
        padding: 2remx 16px;
    }

    .event-top {
        font-size: 1.35rem;
    }

    .event-title {
        margin-bottom: 30px;
        font-size: clamp(2.8rem, 14vw, 4rem);
    }

    .event-content {
        gap: 28px;
    }

    .card-area {
        width: 100%;
        gap: 8px;
    }

    .pay-card,
    .gift-card {
        width: calc(50% - 4px);
    }

    .badges {
        gap: 7px;
        margin-bottom: 14px;
    }

    .badge {
        min-height: 36px;
        padding: 5px 13px 2px;
    }

    .brand {
        font-size: clamp(2.1rem, 10vw, 2.9rem);
        letter-spacing: -0.07em;
    }

    .discount {
        margin-bottom: 22px;
        font-size: clamp(2.1rem, 10vw, 2.9rem);
    }

    .discount strong {
        font-size: 1.25em;
    }

    .blink-button {
        width: 100%;
        min-height: 58px;
        padding: 5px 14px 0;
    }


    /* =========================
       고객만족 통계
    ========================= */
    .db-section {padding: 2.5rem 1rem;}
    .head {
        gap: 15px;
        margin-bottom: 30px;
    }
    .head h2 {
        font-size: 2rem;
        line-height: 2.5rem;
    }
    .stats {
        grid-template-columns: 1fr;
        gap: 10px;
    }
	.stat b {font-size: 2.5rem;}
    .stat, .stat:last-child {
        grid-column: auto;
        padding: 1rem;
        border-radius: 18px;
    }


    /* =========================
       웨딩 플래너
    ========================= */
    .planner-section {
        padding: 2rem 0;
    }

    .planner-section .head {
        padding: 0 16px;
    }
    .planner-section .head .kicker {font-size: 1.25rem;}
    .planner-track {
        gap: 12px;
    }
    .planner {
        flex-basis: 230px;
        border-radius: 20px;
    }
    .planner .photo {
        height: 250px;
    }
    .planner .body {
        padding: 18px 12px;
    }
    .planner blockquote {
        margin-bottom: 10px;
        font-size: 1.5rem;
    }
    .planner .body p {
        font-size: 1rem;
    }

    /* =========================
       구해줘 웨딩홀
    ========================= */
    .hall-section {
        padding: 40px 14px;
    }

    .hall-inner {
        width: 100%;
    }

    .hall-left {
        width: 100%;
    }

    .hall-slider {
        min-height: clamp(270px, 92vw, 390px);
    }

    .hall-card {
        width: min(100%, 370px);
    }


    /* =========================
       웨딩홀 목록
    ========================= */
    .weddinghall-list-section,
    .weddinghall-list-section2 {padding: 2rem 14px;}
    .weddinghall-title {margin-bottom: 30px;}
    .weddinghall-title p {
        margin-bottom: 9px;
        padding: 8px 13px 4px;
        font-size: 1.25rem;
    }
    .weddinghall-title h2 {font-size: 2.25rem;}
    .weddinghall-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }
    .weddinghall-card {
        min-width: 0;
        border-radius: 10px;
    }
    .weddinghall-name {
        min-height: 2rem;
        padding: 0;
        font-size: 0.9rem;
        line-height: 1;
    }
    .weddinghall-notice {
        margin-top: 28px;
        font-size: 0.75rem;
    }
    .weddinghall-button {
        width: 100%;
        min-height: 58px;
        gap: 20px;
        padding: 5px 18px 0;
    }

    /* =========================
       웨딩드레스
    ========================= */
    .dress-section {
        padding-top: 0;
    }
    .dress-slide img {
        object-fit: cover;
        object-position: center top;
    }
    .dress-dots {display: none;}
    .dress-pink-box {
        margin-top: -1px;
        padding: 2rem 16px;
    }

    .dress-pink-box h2 {font-size: 2.5rem;}
    .dress-pink-box h2 strong {font-size: 4rem; margin-top: 1rem;}
    .dress-pink-box p {margin-top: 20px;}
    .dress-benefit {
        margin-top: 45px;
        padding: 0 14px 55px;
    }
    .dress-benefit-list {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 200px));
        gap: 14px;
        margin-bottom: 35px;
    }
    .dress-benefit-card {max-width: 200px;}
    .dress-benefit-card p {font-size: 1rem;}
    .dress-benefit-button {
        min-height: 60px;
        gap: 20px;
        padding: 5px 18px 0;
    }


    /* =========================
       스튜디오
    ========================= */
    .studio-section {padding: 2rem 0;}
    .studio-heading {
        margin-bottom: 32px;
        padding: 0 16px;
    }
    .studio-heading p {
        font-size: 1rem;
        letter-spacing: 0.12em;
    }
    .studio-heading h2 {font-size: 2.4rem;}
    .studio-slider-area {padding: 0 14px;}
    .studio-swiper {padding-bottom: 45px;}
    .studio-card h3 {
        margin-top: 12px;
        font-size: 1.25rem;
    }
    .studio-nav {display: none;}
    .studio-pagination {margin-top: 24px;}
    .studio-button-wrap {
        margin-top: 30px;
        padding: 0 16px;
    }
    .studio-button {
        width: 100%;
        min-height: 56px;
    }

    /* =========================
       현금 이벤트
    ========================= */
    .money-event-banner {padding: 2rem 16px 0;}
    .money-event-inner {gap: 28px;}
    .title strong, .title span {font-size: clamp(2.8rem, 14vw, 4rem); }
    .cta {
        width: 80%;
        min-height: 58px;
        margin-top: 24px;
        padding: 5px 22px 0;
        gap: 26px;
    }
    .circle-badge {
        left: 10%;
        bottom: 30%;
        width: clamp(85px, 27vw, 115px);
    }

    /* =========================
       허니문
    ========================= */
    .honeymoon-slider {min-height: 690px;}
    .honeymoon-overlay {background: rgba(0, 0, 0, 0.5);}
    .honeymoon-content h2 {
        margin-bottom: 10px;
        font-size: 2.5rem;
    }
    .honeymoon-content .desc {margin-bottom: 15px;}
    .info-list {padding-top: 15px;}
    .price-box strong {
        font-size: 2.8rem;
    }
    .honeymoon-cta {
        min-width: 0;
        width: 100%;
        height: 48px;
        margin-top: 22px;
        padding: 0.5rem 1rem 0;
    }
    .honeymoon-nav {
        width: 38px;
        height: 38px;
    }
    .honeymoon-prev::before,
    .honeymoon-next::before {
        width: 10px;
        height: 10px;
        border-width: 2px;
    }
    .honeymoon-prev::before {left: 16px;}
    .honeymoon-next::before {right: 16px;}

    /* =========================
       수트 / 한복 / 예물
    ========================= */
    .suit-section > img,
    .hanbok-section > img {
        width: 100%;
        height: clamp(250px, 76vw, 350px);
        object-fit: cover;
    }
    .ring-section {
        width: 100%;
        overflow: hidden !important;
    }
    .ring-section > img {
        display: block;
        width: 135% !important;
        max-width: none !important;
        height: 26rem !important;
        object-fit: cover !important;
        object-position: left center !important;
        transform: none !important;
        margin-left: 0;
        margin-right: -15%;
    }
    .suit-wrap, .hanbok-wrap, .ring-wrap {
        width: 100%;
        padding: 2rem 1rem;
    }
    .suit-head, .hanbok-head, .ring-head {margin-bottom: 26px;}
    .suit-card-grid, .hanbok-card-grid, .ring-card-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .suit-card, .hanbok-card, .ring-card {
        min-height: auto;
        padding: 24px 18px;
    }
    .suit-card h3, .hanbok-card h3, .ring-card h3 {overflow-wrap: anywhere;}

    /* =========================
       페이백
    ========================= */
    .payback-inner {gap: 32px;}
    .payback-cta {
        min-height: 58px;
        margin-top: 24px;
    }
    
    .bingo-card {
        width: 100%;
        padding: 2.5rem 1rem 1rem;
    }
    .bingo-item.active .bingo-circle {border: 4px solid #e9358b;}
    .bingo-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.5rem;
    }
    .bingo-item {min-width: 0;}
    .stamp-img {
        right: -55px;
        top: 25%;
        width: 120px;
    }
    .bingo-card .benefit-list {margin-top: 30px;}
    .bingo-circle {width: min(100%, 120px);}
    .benefit-row {gap: 8px;}


    /* =========================
       룰렛 이벤트
    ========================= */
    .roulette-event-section {
        padding: 2rem 14px;
        background-position: right bottom;
    }
    .roulette-event-inner {gap: 28px;}
    .roulette-img-area {width: min(86%, 340px);}
    .roulette-title strong, .roulette-title span {
        font-size: clamp(2.5rem, 13vw, 3.6rem);
        -webkit-text-stroke-width: 3px;
        text-shadow: 4px 4px 0 rgba(0, 0, 0, 0.25);
    }
    .roulette-cta {
        width: 80%;
        min-height: 58px;
        margin-top: 24px;
        padding: 5px 20px 0;
    }
    .curtain {
        width: 55px;
        opacity: 0.35;
    }

    /* =========================
       신청 폼
    ========================= */
    .form {
            width: 100%;
            padding: 0;
            margin: 0;
            background: none !important;
            background-image: none !important;
    }
    .form > form {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
    }
    .form-box {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
    }
    .form-wrap {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 1rem;
        border-radius: 0;
        box-shadow: none;
    }

    /* 모든 폼 행을 모바일 1열로 변경 */
    .form-wrap dl,
    .form-wrap .name-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: 7px;
        width: 100%;
        margin-bottom: 18px;
    }

    .form-wrap dt,
    .form-wrap dd {
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
    }

    .form-wrap dt {
        margin-top: 6px;
    }

    .form-wrap label {
        display: block;
        font-size: 1.25rem;
    }

    /* 기존 100px, 150px 고정값 해제 */
    .form-wrap .input-select,
    .form-wrap .input-text,
    .name-row #in_name,
    .name-row #in_2 {
        width: 100%;
        min-width: 0;
        max-width: none;
    }

    .phone-inputs .input-select,
    .phone-inputs .input-text {
        width: 100%;
        min-width: 0;
    }

    .phone-inputs > span {
        width: auto;
        min-width: 5px;
        text-align: center;
    }

    .partner-row {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 8px;
    }

    .partner-row dt,
    .partner-row dd {
        width: 100%;
        flex: none;
    }

    .form-wrap .privacy-box {
        max-width: 100%;
        overflow-x: hidden;
    }

    .form-submit {
        width: 100%;
        min-height: 60px;
        padding: 7px 14px 3px;
        font-size: clamp(1.35rem, 7vw, 1.8rem);
    }


    /* =========================
       FAQ / 제휴사 / FOOTER
    ========================= */
    .faq-section,
    .partner-section {
        padding-left: 14px;
        padding-right: 14px;
    }
    .form-wrap dl, .form-wrap .name-row {margin-bottom: 10px; padding-top: 0;}
    .form-wrap {
        padding-left: 12px;
        padding-right: 12px;
    }
    .form-wrap .center {margin-top: 2rem;}
    .faq-section, .partner-section {padding: 3rem 1rem;}
    .faq-eyebrow {
        margin: 0 0 14px;
        padding: 6px 1rem 4px;
    }
    .faq-head, .partner-head {margin-bottom: 2rem;}
    .faq-head h2, .partner-head h2 {font-size: 2.75rem;}
    .faq-head p:not(.faq-eyebrow) {
        margin: 0;
        font-size: 1.5rem;
        line-height: 1.5;
    }
    .faq-item {padding: 20px 16px;}
    .faq-item dt {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 10px;
        margin: 0 0 14px;
        font-size: 1.75rem;    
    }
    .faq-item dd {
        margin: 0;
        padding-left: 0;
        text-align: center;
        font-size: 1.275rem;
        line-height: 1.275;
    }
    .partner-head p:not(.partner-eyebrow){
        margin: 14px auto 0;
        font-size: 1.275rem;
        line-height: 1.5;
    }
    .partner-row {padding: 1.5rem; margin-bottom: 1rem;}
    .partner-row dd {
        font-size: 1.25rem;
        line-height: 1.5;
    }
    footer {
        padding: 35px 16px 80px;
        font-size: 0.75rem;
        line-height: 1.7;
    }
}


/*=====================================
오른쪽 하단 고정 버튼
=====================================*/
	.right-box {position: fixed;width:100px;height:100px;top: 80%;right: 3%;cursor:pointer;z-index:999;}
	.right-box img {width:100%;z-index:1000;}
	@media screen and (max-width: 500px) {
		.right-box {width:80px !important; height:80px !important ; top: 85%;}
	}

/* =========================================================
   초소형 핸드폰 보정
   iPhone SE 등 320px ~ 359px
========================================================= */

@media screen and (max-width: 359px) {
    html {font-size: 13px;}
    .wrap {width: calc(100% - 24px);}
    .top .wrap {width: calc(100% - 22px);}
    .logo {font-size: 0.9rem;}
    .hero {padding-top: 0;}
    .hero__text {
        padding-left: 12px;
        padding-right: 12px;
    }
    .hero__title-img {width: 260px;}
    .hero__place {font-size: 1.75rem;}
    .wedding-event-banner {padding: 1rem 0.5rem;}
    .banner-content h2 {font-size: 1.25rem;}
    .checkpoint-image {height: 250px;}
    .checkpoint-sub {font-size: 1.25rem;}
    .checkpoint-sub span {font-size: 1.75rem;}
    .checkpoint-title {margin-bottom: 1.25rem;}
    .checkpoint-list {gap: 1rem; margin-bottom: 1.25rem;}

    .brand-power-section {
        background-size: 135%;
        padding: 3rem 1rem;
    }
    .brand-badge {
        min-height: 36px;
        padding: 10px 10px 7px;
        border-radius: 7rem;
        font-size: 1rem;
        gap: 0.5rem;
    }
    .brand-logo {
        height: 60px;
        padding: 6px;
    }

    .cost-ticket__info {
        padding-left: 9px;
        padding-right: 9px;
    }
    .cost-ticket__side {width: 42px;}

    .sdm-compare {gap: 5px; margin-bottom: 2rem;}
    .sdm-compare-box {
        width: calc((100% - 34px) / 2);
        padding-left: 4px;
        padding-right: 4px;
    }
    .sdm-compare-box span {font-size: 1.15rem;}
    .sdm-compare-box strong {font-size: 1.5rem;}
    .sdm-vs {font-size: 1.35rem;}
    .sdm-title-area p, .sdm-title-area span {font-size: 1.45rem;}
    .sdm-title-area {margin-bottom: 1.5rem;}
    .sdm-package-top {
        min-height: 160px;
        padding: 1.5rem;
    }
    .sdm-sub-price-list {
        height: auto;
        align-self: auto;
        gap: 0;
    }
    .sdm-sub-price strong {font-size: 4rem;}
    .sdm-package-content {padding: 1rem 1.25rem;}
    .sdm-package-content h3 {margin-bottom: 1rem;}
    .sdm-package-content li {font-size: 1.25rem;}
    
    .head {
        gap: 0.25rem;
        margin-bottom: 1.5rem;
    }
    .head p {margin: 0;}

    .weddinghall-grid {gap: 7px;}
    .weddinghall-name {
        font-size: 1.15rem;
        line-height: 1;
        padding: 10px 5px 5px;
    }
    .dress-benefit {
        margin-top: 2rem;
        padding: 0 14px 2rem;
    }
    .dress-pink-box {padding: 2rem 16px;}
    .dress-benefit-list {
        grid-template-columns: repeat(2, minmax(0, 135px));
        gap: 10px;
    }
    .dress-benefit-notice {margin: 0 0 1.375rem;}
    
    .circle-badge {font-size: 1.15rem;}
    .money-event-inner {gap: 0;}

    .honeymoon-content {
        padding: 2.5rem 1rem 1rem;
        height: 100%;
    }
    .honeymoon-cta {
        width: calc(100% - 80px);
        max-width: 380px;
        height: 38px;
        margin-top: 1rem;
        padding-bottom: 0.25rem;
    }
    .price-box {bottom: 7rem;}
    .honeymoon-nav {
        width: 2.5rem;
        height: 2.5rem;
    }
    .honeymoon-prev::before {left: 13px;}
    .honeymoon-next::before {right: 13px;}

    .suit-head h2, .hanbok-head h2, .ring-head h2 {font-size: 3.25rem;}
    .suit-head, .hanbok-head, .ring-head {margin-bottom: 1.25rem;}
    .suit-card, .hanbok-card, .ring-card {padding: 1rem 1.5rem; border-radius: 1rem;}
    .suit-card h3, .hanbok-card h3, .ring-card h3 {
        margin: 0 0 1.55rem;
        font-size: 2rem;
    }
    .suit-list li, .ring-list li {line-height: 1;}
    .hanbok-kicker {margin-top: 0;}
    .hanbok-list {margin: 0;}

    .payback-section {padding: 2.5rem 1rem;}
    .sub-copy {
        font-size: 2.25rem;
        margin-bottom: 1.2rem;
    }

    .roulette-event-section {padding: 2rem 14px;}
    .roulette-img-area {width: min(100%, 340px);}

    .phone-inputs {gap: 3px;}
    .visit-check .checkbox-radio {padding: 0;}
    .visit-check .radio-text {font-size: 13px;}
}
/* =========================================================
   HERO renewal - 2026 wedding fair
   기존 내비게이션은 유지하고 메인 비주얼만 재구성합니다.
========================================================= */

@media (max-width: 1100px) {
    .hero {
        min-height: auto;
        background-position-x: calc(100% + 10rem);
        background-position-y: var(--hero-header-height);
    }
    .hero__inner {
        width: 90%;
        min-height: auto;
    }
    .hero__copy {width: 100%;}
    .hero__title {font-size: 4.8rem;}
    .hero__benefits {margin-top: 3rem; padding-inline: 10px;}
    .hero__benefits li {padding-inline: 12px;}
    .hero__benefits svg {width: 44px; height: 44px;}
    .hero__benefits strong {font-size: 1.25rem;}
    .hero__benefits span {font-size: 1rem;}
}

@media (max-width: 800px) {
    .hero {
        background-position-x: calc(100% + 10rem);
        background-position-y: var(--hero-header-height);
    }
    .hero__inner {
        width: 90%;
        padding: 1.5rem 0 1rem;
    }
    .hero__copy {
        width: 100%;
        margin: 0 auto;
    }
    .hero__eyebrow {margin-bottom: 8px;}
    .hero__title span {display: block;}
    .hero__info {margin-top: 22px;}
    .hero__benefits {
        width: calc(100% - 28px);
        margin: 0 auto;
        border-radius: 16px;
        padding: 0.5rem;
    }
    .hero__benefits li {justify-content: flex-start;}
    .hero__benefits strong {font-size: 1.15rem;}
    .hero__benefits span {font-size: 1rem; line-height: 1;}
    .hero__cta {padding: 13px 18px 10px; font-size: 1.75rem;}
    .hero__actions p {color: #fff; text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8); }
}

@media (max-width: 600px) {
    .hero {
        background-position-x: calc(100% + 10rem);
        background-image: url(../assets/main_bg.webp);
    }
    .hero__inner {padding-top: 24px;}
    .hero__title {font-size: 4rem;}
    .hero__info {
        text-shadow: 
        0 0 5px #fff,
        0 0 10px #fff,
        0 0 20px rgba(255, 255, 255, 1);
    }
    .hero__benefits {width: 100%; padding: 0px;}
    .hero__benefits li {min-height: 110px; gap:0; padding: 0.5rem 0;}
    .hero__benefits li img {width: 70px;}
    .hero__benefits span {line-height: 1.25;}
    .hero__cta {font-size: 1.5rem;}
    .hero__actions p {margin: 0.5rem 0 0;}
}
@media (max-width: 500px) {
    .top {display: none;}
    .hero {
        padding-top: 0;
        background-position-y: top;
        background-size: cover;
        background-position-x: calc(100% + 12rem);
    }
    .hero__inner {padding-top: 100px;}
    .hero__title {
        font-size: 3.25rem;
        text-shadow: 
        0 0 5px #fff,
        0 0 10px #fff,
        0 0 20px rgba(255, 255, 255, 1);
    }
    .hero__info {
        margin-top: 1rem;
        text-shadow: 
        0 0 5px #fff,
        0 0 10px #fff,
        0 0 20px rgba(255, 255, 255, 1);
    }
    .hero__date {font-size: 1.75rem; margin: 0;}
    .hero__place {font-size: 1.5rem;}
    .hero__benefits {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        width: 100%; padding: 0px;
    }
    .hero__benefits li {min-height: 100px; gap:0; padding: 0.5rem 0; border-right: 1px solid rgba(203, 203, 203, 0.5);}
    .hero__benefits li+li {border-right: 1px solid rgba(203, 203, 203, 0.5);}
	.hero__benefits li:last-child {border-right: none;}
    .hero__benefits li img {width: 50px;}
    .hero__benefits strong {margin: 0; font-size:0.9rem;}
    .hero__benefits span {line-height: 1; font-size:0.8rem;}
    .hero__actions {
        width: 90%;
        margin: 1rem auto 0;
    }
    .hero__cta {
        padding: 0.5rem 1rem 0;
        font-size: 1.2rem;
        min-height: 55px;
    }
    .hero__actions p {margin: 0.5rem 0 0;}
}