
:root { --font-suit:"SUIT",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; --font-rokaf:'ROKAFSlabSerifMedium',serif; }
body { font-family:var(--font-suit); }
*{letter-spacing: -.76px;}
html,body{width:100%;max-width:100%;overflow-x:hidden;}
img{width:100%;height:auto;object-fit:cover;}

[data-ani] { opacity:0; transform:translateY(40px); transition:opacity .8s ease, transform .8s ease; }
[data-ani].show { opacity:1; transform:translateY(0); }

[data-ani="fade"] { transform:none; }
[data-ani="zoom"] { transform:scale(.9); }
[data-ani="zoom"].show { transform:scale(1); }
/* pop: 데코 별 튀어나오기 (스케일 + 회전 바운스) */
[data-ani="pop"] { opacity:0; transform:scale(.2) rotate(-25deg); transition:opacity .55s ease, transform .7s cubic-bezier(0.34, 1.56, 0.64, 1); }
[data-ani="pop"].show { opacity:1; transform:scale(1) rotate(0); }
/* pop-r: 같은 효과지만 반대 회전 */
[data-ani="pop-r"] { opacity:0; transform:scale(.2) rotate(25deg); transition:opacity .55s ease, transform .7s cubic-bezier(0.34, 1.56, 0.64, 1); }
[data-ani="pop-r"].show { opacity:1; transform:scale(1) rotate(0); }
/* 절대 위치 데코 — translateX(-50%) 유지하며 pop */
.grandopen .banner > img:last-child[data-ani="pop"] { transform:translateX(-50%) scale(.2) rotate(-15deg); }
.grandopen .banner > img:last-child[data-ani="pop"].show { transform:translateX(-50%) scale(1) rotate(0); }
/* 라피네 카드 데코 (sect2_deco2)만 별도 위치 보정 */
.grandopen .banner > img[src*="sect2_deco2"][data-ani="pop"] { transform:translateX(-62%) scale(.2) rotate(-15deg) translateY(-30px); }
.grandopen .banner > img[src*="sect2_deco2"][data-ani="pop"].show { transform:translateX(-62%) scale(1) rotate(0) translateY(-30px); }

/* grandopen 카드 내부 stagger delay */
.grandopen .tit_area .txt02 { transition-delay:.15s; }
.grandopen .banner h2 { transition-delay:.15s; }
.grandopen .banner .event_tit { transition-delay:.3s; }
.grandopen .banner > img:last-child { transition-delay:.5s; }   /* 데코는 가장 마지막에 pop */
.grandopen .event_grop h3 { transition-delay:.2s; }
.grandopen .event_grop li:nth-child(1) { transition-delay:.3s; }
.grandopen .event_grop li:nth-child(2) { transition-delay:.4s; }
.grandopen .event_grop li:nth-child(3) { transition-delay:.5s; }
.grandopen .bt_txt01 { transition-delay:.1s; }
.grandopen .bt_txt03 { transition-delay:.2s; }
.grandopen .bt_txt04 { transition-delay:.3s; }
.fair02__bubble[data-ani].show, .fair08__bubble[data-ani].show{ transform:translateX(-50%) scale(1); }
#wedding_fair2026{overflow: hidden;}

/* hero */
.hero { position:relative; }
.fair_btn { display:flex; width:100%; text-align:center; justify-content:center;padding:30px 0; background:#491D67; text-decoration:none; position:relative; overflow:hidden; transition:background .3s ease; }
.fair_btn span{ color:#fff; font-size:40px; font-weight:400;z-index:1; }
.fair_btn b { font-weight:700; }
.fair_btn::before { content:""; position:absolute; inset:0; background:#78409C; opacity:0; transition:opacity .3s ease; z-index:0; }
.fair_btn:hover::before { opacity:1; }
.fair_btn:hover span{ color:#fff; }
.fair_btn, .fair_btn b { position:relative; z-index:1; }
@keyframes gradientMove { 0%{background-position:0% 50%;} 50%{background-position:100% 50%;} 100%{background-position:0% 50%;} }



/* ============================================================
   special_intro — LARA WEDDING FAIR / SPECIAL BENEFITS 인트로
============================================================ */
.special_intro {
    background:#FFFFF4;
    padding:100px 0 0;              /* 좌우 패딩 0 → 하단 스트립 여백 x */
    text-align:center;
    position:relative;
}
.special_intro__inner {
    margin:0 auto;
    padding:0 30px 0;
    position:relative;
}
.special_intro__logo {
    display:block; width:auto; max-width:280px; height:auto;
    margin:0 auto 24px;
}
.special_intro__title {
    display:block; width:auto; max-width:520px; height:auto;
    margin:0 auto 70px;
}

/* 선착순 50쌍 한정 배지 */
.special_intro__box {
    border:1px solid #A46AD9;
    background:#F5E1FF;
    padding:8px 40px;
    display:inline-block;
    margin:0 auto 44px;
}
.special_intro__box .special_intro__badge {
    margin:0;
    color:#491D67;
    font-family:var(--font-rokaf);
    font-weight:500;
    font-size:52px;
    line-height:1.16;
    letter-spacing:-4.2px;
    white-space:nowrap;
}

/* 최대 200만원 상당 / 특별 혜택 */
.special_intro__main {
    margin:0 0 70px;
    font-family:var(--font-rokaf);
    font-weight:700;
    font-size:65px;
    line-height:1.2;
    letter-spacing:-5.8px;
    color:#78409C;                  /* 최대 200만원 상당 (첫 줄) */
}
.special_intro__main b { color:#A46AD9; font-weight:700; }  /* 특별 혜택 (두번째 줄) */

/* 하단 라벤더 풀블리드 스트립 */
.special_intro__date {
    background:#F8EAFF;
    margin:0 -30px;                 /* inner 패딩 30px 상쇄 → 좌우 여백 x */
    padding:22px 30px;
    color:#A46AD9;
    font-family:var(--font-suit);
    font-weight:700;
    font-size:20px;
    line-height:1.16;
    letter-spacing:-1px;
    text-align:center;
}
.special_intro__date b { font-weight:700; }

/* 모바일 (480px 이하) */
@media (max-width: 480px) {
    .special_intro { padding:70px 0 0; }
    .special_intro__inner { padding:0 22px 0; }
    .special_intro__logo { max-width:200px; margin-bottom:18px; }
    .special_intro__title { max-width:360px; margin-bottom:50px; }
    .special_intro__box { padding:6px 28px; margin-bottom:32px; }
    .special_intro__box .special_intro__badge { font-size:36px; letter-spacing:-2.9px; }
    .special_intro__main { font-size:46px; letter-spacing:-4px; margin-bottom:50px; }
    .special_intro__date { font-size:15px; letter-spacing:-.8px; padding:18px 22px; margin:0 -22px; }
}
@media (max-width: 380px) {
    .special_intro__title { max-width:280px; }
    .special_intro__box .special_intro__badge { font-size:28px; letter-spacing:-2.2px; }
    .special_intro__main { font-size:36px; letter-spacing:-3px; }
    .special_intro__date { font-size:13px; padding:14px 16px; }
}


/* ============================================================
   special_list — SPECIAL BENEFITS 5개 알약 리스트 (이미지)
============================================================ */
.special_list {
    background:#F8E9FF;
    padding:80px 24px 90px;
    text-align:center;
}
.special_list__tit {
    display:block; width:auto; max-width:340px; height:auto;
    margin:0 auto 40px;
}
.special_list__items {
    list-style:none; padding:0; margin:0 auto;
    max-width:640px;
    display:flex; flex-direction:column; gap:16px;
}
.special_list__items li {
    margin:0;
}
.special_list__items li img {
    display:block; width:100%; height:auto;
}

/* 모바일 (480px 이하) */
@media (max-width: 480px) {
    .special_list { padding:60px 18px 70px; }
    .special_list__tit { max-width:240px; margin-bottom:28px; }
    .special_list__items { gap:12px; }
}
@media (max-width: 380px) {
    .special_list { padding:50px 14px 60px; }
    .special_list__tit { max-width:200px; margin-bottom:22px; }
    .special_list__items { gap:10px; }
}


/* ============================================================
   special_cta — 사전예약 마감 임박 CTA 배너
============================================================ */
.special_cta {
    background:
        linear-gradient(rgba(120,64,156,.78), rgba(120,64,156,.78)),
        url('/img/202607/special3_bg.jpg') center/cover no-repeat;
    padding:70px 30px 90px;
    text-align:center;
    color:#fff;
    position:relative;
    overflow:hidden;
}
.special_cta__inner {
    max-width:660px;
    margin:0 auto;
    position:relative;
}
.special_cta__label {
    margin:0 0 8px;
    font-family:var(--font-suit);
    font-weight:700;
    font-size:45px;
    line-height:1.16;
    letter-spacing:-2.3px;
    color:#fff;
}
.special_cta__date {
    margin:0 0 60px;
    font-family:var(--font-suit);
    font-weight:300;
    font-size:39px;
    line-height:1.16;
    letter-spacing:-2px;
    color:#fff;
}
.special_cta__title {
    margin:0 0 60px;
    font-family:var(--font-rokaf);
    font-weight:700;
    font-size:65px;
    line-height:1.2;
    letter-spacing:-5.8px;
    color:#fff;
}
.special_cta__title b { color:#FFFCC8; font-weight:700; }

.special_cta__sub {
    margin:0 0 20px;
    font-family:var(--font-suit);
    font-weight:700;
    font-size:32px;
    line-height:1.16;
    letter-spacing:-1.6px;
    color:#fff;
}
.special_cta__desc {
    margin:0 0 50px;
    font-family:var(--font-suit);
    font-weight:400;
    font-size:26px;
    line-height:1.5;
    letter-spacing:-1.3px;
    color:#fff;
}
.special_cta__desc b { font-weight:700; }

.special_cta__btn {
    display:inline-flex;
    align-items:center; justify-content:center;
    padding:22px 60px;
    border:1px solid #DDA7F8;
    border-radius:90px;
    background:#FFFCC8;
    box-shadow:0 4px 4px 0 rgba(0,0,0,.41);
    color:#78409C;
    font-family:var(--font-suit);
    font-weight:800;
    font-size:32px;
    line-height:1.16;
    letter-spacing:-1.6px;
    text-decoration:none;
    transition:transform .12s ease, filter .2s ease;
}
.special_cta__btn:hover { filter:brightness(.98); }
.special_cta__btn:active { transform:scale(.98); }

/* 모바일 (480px 이하) */
@media (max-width: 480px) {
    .special_cta { padding:56px 22px 70px; }
    .special_cta__label { font-size:30px; letter-spacing:-1.5px; }
    .special_cta__date { font-size:26px; letter-spacing:-1.3px; margin-bottom:40px; }
    .special_cta__title { font-size:44px; letter-spacing:-3.8px; margin-bottom:44px; }
    .special_cta__sub { font-size:22px; letter-spacing:-1.1px; margin-bottom:14px; }
    .special_cta__desc { font-size:18px; letter-spacing:-.9px; margin-bottom:36px; }
    .special_cta__btn { padding:16px 42px; font-size:22px; letter-spacing:-1.1px; border-radius:60px; }
}
@media (max-width: 380px) {
    .special_cta { padding:44px 18px 60px; }
    .special_cta__label { font-size:24px; letter-spacing:-1.2px; }
    .special_cta__date { font-size:20px; margin-bottom:32px; }
    .special_cta__title { font-size:36px; letter-spacing:-3px; margin-bottom:36px; }
    .special_cta__sub { font-size:18px; }
    .special_cta__desc { font-size:15px; margin-bottom:30px; }
    .special_cta__btn { padding:14px 34px; font-size:19px; }
}


/* ============================================================
   special_all — 결혼 준비의 모든 선택 (3개 알약)
============================================================ */
.special_all {
    background:#FFFFF4;
    padding:100px 30px 100px;
    text-align:center;
}

/* 결혼 준비의 / 모든 선택을 한자리에서 */
.special_all__title {
    margin:0 0 40px;
    color:#491D67;
    font-family:var(--font-rokaf);
    font-weight:500;
    font-size:45px;
    line-height:1.16;
    letter-spacing:-4.5px;
}

/* 청주 최대 규모 / 라라웨딩페어에서! */
.special_all__subtitle {
    margin:0 0 70px;
    font-family:var(--font-rokaf);
    font-weight:500;
    font-size:45px;
    line-height:1.16;
    letter-spacing:-4.5px;
}
.special_all__subtitle .c1 { color:#A46AD9; }
.special_all__subtitle .c2 { color:#78409C; }

/* 3개 알약 리스트 */
.special_all__list {
    list-style:none; padding:0; margin:0 auto 40px;
    max-width:560px;
    display:flex; flex-direction:column; gap:20px;
}
.special_all__list li {
    position:relative;
    background:#F5E1FF;
    border:1px solid #A46AD9;
    padding:14px 36px 14px 46px;
    color:#895EB0;
    font-family:var(--font-suit);
    font-weight:700;
    font-size:26px;
    line-height:1.16;
    letter-spacing:-1.3px;
    text-align:center;
}
.special_all__list li::before {
    content:"+";
    position:absolute;
    left:-14px; top:50%;
    transform:translateY(-50%);
    width:32px; height:32px;
    background:#78409C;
    color:#fff;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-family:var(--font-suit);
    font-size:24px;
    font-weight:700;
    line-height:1;
}

/* 직접 비교하고 경험해보세요. */
.special_all__desc {
    margin:0 0 50px;
    color:#491D67;
    font-family:var(--font-suit);
    font-weight:500;
    font-size:26px;
    line-height:1.16;
    letter-spacing:-2px;
}

/* 브랜드별 특별 혜택을 지금부터 만나보세요 */
.special_all__brand {
    margin:0;
    color:#A46AD9;
    font-family:var(--font-suit);
    font-weight:700;
    font-size:22px;
    line-height:1.16;
    letter-spacing:-1.1px;
}

/* 모바일 (480px 이하) */
@media (max-width: 480px) {
    .special_all { padding:70px 24px 80px; }
    .special_all__title { font-size:32px; letter-spacing:-3.2px; margin-bottom:28px; }
    .special_all__subtitle { font-size:32px; letter-spacing:-3.2px; margin-bottom:48px; }
    .special_all__list { max-width:100%; gap:14px; margin-bottom:32px; }
    .special_all__list li { font-size:18px; letter-spacing:-.9px; padding:12px 28px 12px 34px; }
    .special_all__list li::before { width:26px; height:26px; font-size:18px; left:-8px; }
    .special_all__desc { font-size:20px; letter-spacing:-1.4px; margin-bottom:36px; }
    .special_all__brand { font-size:15px; letter-spacing:-.8px; }
}
@media (max-width: 380px) {
    .special_all { padding:56px 18px 66px; }
    .special_all__title { font-size:26px; letter-spacing:-2.5px; }
    .special_all__subtitle { font-size:26px; letter-spacing:-2.5px; margin-bottom:36px; }
    .special_all__list li { font-size:15px; padding:10px 24px 10px 30px; }
    .special_all__desc { font-size:17px; }
    .special_all__brand { font-size:13px; }
}


/* ============================================================
   grandopen — 청주 라라 웨딩페어 한정 특별 혜택 섹션
   3개 카드 (노올 청주점 / 라피네 / 꼼나나)
============================================================ */
.grandopen { background:#78409C url("/img/202607/sect02_bg.jpg") center top / 100% auto no-repeat; padding:50px 24px 60px; position:relative; overflow:hidden; }
.grandopen .tit_area { text-align:center; color:#fff; padding:0 0 40px; position:relative; z-index:2; }
.grandopen .tit_area .txt01 { font-family:var(--font-rokaf); font-size:34px; font-weight:500; letter-spacing:-1.5px; margin:0 0 14px; line-height:1.2; }
.grandopen .tit_area .txt02 { font-family:var(--font-rokaf); font-size:70px; font-weight:700; color:#FFFCC8; letter-spacing:-3px; line-height:1.05; margin:0; }

.grandopen article {
    background:#F8E9FF;
    border-radius:28px;
    padding:0 0 56px;
    margin:0 auto 50px;
    max-width:620px;
    box-shadow:0 8px 30px rgba(45,24,80,.22);
    overflow:visible;
    position:relative;
}
.grandopen article:nth-child(3) { background:#fff; }
.grandopen article:last-child { margin-bottom:0; }

/* 카드 상단 인물 사진 (사각형) */
.grandopen .banner { position:relative; padding:88px 72px 0; }
.grandopen .banner > img:first-child {
    display:block; width:100%; height:auto;
    margin:0 auto;
}
.grandopen .banner h2 {
    text-align:center; font-family:var(--font-rokaf); font-weight:500;
    color:#491D67; font-size:36px; line-height:1.2; letter-spacing:-1.6px;
    margin:-70px 0 22px;          /* "노올 청주점" 라인만 이미지 하단(흰 바닥)에 살짝 겹치게 */
    position:relative; z-index:2;
    white-space:nowrap;            /* 줄바꿈 방지 */
}
.grandopen .banner h2 b { display:block; font-weight:700; font-size:36px; margin-top:6px; white-space:nowrap; }

/* 보라 배지 (9월 촬영 예약 OPEN / Premium Dress / Image Consulting) */
.grandopen .event_tit {
    display:block;
    width:80%;
    box-sizing:border-box;
    background:#78409C;
    color:#fff;
    font-family:var(--font-rokaf);
    font-weight:500;
    font-size:32px;
    line-height:1.16;
    letter-spacing:-1.6px;
    text-align:center;
    padding:12px 60px;
    border-radius:999px;
    margin:40px auto 14px;
    white-space:nowrap;
    position:relative;
    z-index:2;
}

/* 데코 이미지 (반짝이) — banner 마지막 img */
.grandopen .banner > img:last-child {
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    bottom:14px;
    width:auto;
    max-width:100%;
    height:170px;
    pointer-events:none;
    z-index:3;
    object-fit:contain;
}

/* 카드 내부 본문 영역 */
.grandopen .event_grop { padding:28px 38px 0; }
.grandopen .event_grop h3 {
    text-align:center; color:#491D67;
    font-family:var(--font-suit); font-weight:600;
    font-size:26px; letter-spacing:-1.4px; line-height:1.4;
    margin:14px 0 32px;
}
.grandopen .event_grop h3 strong { font-weight:800; }

.grandopen .event_grop ul {
    list-style:none; padding:0; margin:0 auto;
    max-width:460px;                /* 아이콘+텍스트 블록을 가운데로 모음 */
    display:flex; flex-direction:column; gap:26px;
}
.grandopen .event_grop li {
    display:flex; align-items:center; gap:22px; padding:6px 4px;
}
.grandopen .event_grop li > img {
    flex:0 0 auto; width:96px; height:96px; object-fit:contain;
}

.grandopen .event_grop .txt_wrap { flex:1 1 auto; }
.grandopen .event_grop .txt_wrap p {
    margin:0; color:#78409C;
    font-family:var(--font-suit); font-weight:500;
    font-size:22px; line-height:1.35; letter-spacing:-1.1px;
}
.grandopen .event_grop .txt_wrap p b { font-weight:700; }
.grandopen .event_grop .txt_wrap p span {
    display:inline-block; margin-left:6px; font-size:15px; font-weight:500;
    color:#A46AD9; letter-spacing:-.5px; vertical-align:middle;
}
/* <br/> 다음에 오는 span(66만원상당 / 33만원상당)은 새 줄로 + 좌측 인덴트 제거 */
.grandopen .event_grop .txt_wrap p br + span {
    display:block; margin-left:0; margin-top:4px;
}
.grandopen .event_grop .txt_wrap p span[style*="margin-top"] {
    display:block; margin-top:10px !important; margin-left:0;
}

/* 카드 하단 부가 텍스트 */
.grandopen .bt_txt01 {
    text-align:center; color:#1C1C1C;
    font-family:var(--font-suit); font-weight:600;
    font-size:21px; line-height:1.5; letter-spacing:-1px;
    margin:36px 32px 0;
}
.grandopen .bt_txt01 strong { display:inline; font-weight:800; }
.grandopen .bt_txt03 {
    text-align:center; color:#DDA7F8;
    font-family:var(--font-suit); font-weight:600; font-size:17px;
    letter-spacing:.5px; margin:24px 0 6px;
}
.grandopen .bt_txt04 {
    text-align:center; color:#1C1C1C;
    font-family:var(--font-suit); font-weight:600;
    font-size:18px; line-height:1.4; letter-spacing:-.8px;
    margin:0 32px;
}

/* 모바일 슬림 (480px 이하) */
@media (max-width: 480px) {
    .grandopen { padding:70px 16px 110px; }
    .grandopen .tit_area { padding:10px 0 60px; }
    .grandopen .tit_area .txt01 { font-size:22px; margin-bottom:8px; }
    .grandopen .tit_area .txt02 { font-size:48px; letter-spacing:-2px; }
    .grandopen article { padding-bottom:40px; margin-bottom:34px; border-radius:22px; }
    .grandopen .banner { padding:60px 50px 0; }   /* 88/72 비율 유지 */
    .grandopen .banner h2 { font-size:26px; margin:-50px 0 14px; }
    .grandopen .banner h2 b { font-size:26px; }
    .grandopen .event_tit { width:80%; font-size:22px; line-height:1.16; letter-spacing:-1.1px; padding:11px 24px; margin:27px auto 10px; }
    .grandopen .banner > img:last-child { height:90px; bottom:10px; }
    .grandopen .banner > img[src*="sect02_deco01"] { height:90px; bottom:29px; }
    .grandopen .banner > img[src*="sect2_deco2"] { height:150px; bottom:-10px; }
    .grandopen .banner > img[src*="sect2_deco2"][data-ani="pop"] { transform:translateX(-51%) scale(.2) rotate(-15deg) translateY(-30px); }
    .grandopen .banner > img[src*="sect2_deco2"][data-ani="pop"].show { transform:translateX(-51%) scale(1) rotate(0) translateY(-30px); }
    .grandopen .banner > img[src*="sect2_deco3"] { height:140px; bottom:3px; }
    .grandopen .event_grop { padding:18px 22px 0; }
    .grandopen .event_grop h3 { font-size:19px; margin:8px 0 22px; }
    .grandopen .event_grop ul { gap:18px; }
    .grandopen .event_grop li { gap:16px; }
    .grandopen .event_grop li > img { width:72px; height:72px; }
    .grandopen .event_grop .txt_wrap p { font-size:16px; letter-spacing:-.8px; }
    .grandopen .event_grop .txt_wrap p span { font-size:12px; }
    .grandopen .bt_txt01 { font-size:16px; margin:28px 20px 0; padding-top:22px; }
    .grandopen .bt_txt03 { font-size:14px; margin:18px 0 4px; }
    .grandopen .bt_txt04 { font-size:14px; margin:0 22px; }
}

/* 모바일 슬림 (380px ~) — 88/72 비율 유지 */
@media (max-width: 380px) {
    .grandopen { padding:60px 14px 90px; }
    .grandopen .tit_area { padding:8px 0 50px; }
    .grandopen .tit_area .txt02 { font-size:44px; }
    .grandopen .banner { padding:48px 40px 0; }   /* 88/72 비율 (380px 기준) */
    .grandopen .banner h2 { font-size:22px; margin:-38px 0 12px; }
    .grandopen .banner h2 b { font-size:22px; }
    .grandopen .event_tit { width:80%; font-size:17px; line-height:1.16; letter-spacing:-.87px; padding:9px 18px; margin:22px auto 8px; }
    .grandopen .banner > img:last-child { height:92px; bottom:8px; }
    .grandopen .event_grop .txt_wrap p { font-size:14px; }
    .grandopen .event_grop li > img { width:56px; height:56px; }
}


/* fair01 */
.fair01 {text-align:center; padding:120px 20px 100px; }
.fair01 .txt01 { font-family:var(--font-suit); font-size:34px; color:#78409C; letter-spacing:2px; margin-bottom:8px;line-height:0.8; }
.fair01 .txt02 { font-family:var(--font-suit); font-size:70px; font-weight:800; color:#78409C; margin-bottom:40px;line-height:0.8; }
.fair01 .txt03 { font-size:28px; font-weight:700; color:#DDA7F8; }
.fair01 .txt04 { font-size:28px; color:#1C1C1C; margin-bottom:60px; }
.fair01 .txt05 { font-size:64px; font-weight:800; color:#A46AD9; margin-bottom:40px; }
.fair01 .txt06 { font-size:22px; line-height:1.6; color:#1C1C1C;; margin-bottom:80px; }
.fair01 .txt06 b {font-weight:700; }
.fair01 img { display:block; max-width:520px; width:100%; margin:0 auto 80px; }
.fair01 ul { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px 14px; max-width:720px; margin:0 auto; padding:0; list-style:none; }
.fair01 ul li { background:#fff; color:#78409C; font-size:18px; width:auto; font-weight:500; padding:14px 8px; border-radius:999px; box-shadow:0 0 11px 0px rgb(77 77 77 / 20%); border:1px solid #eee; text-align:center; box-sizing:border-box; white-space:nowrap;}
.fair01 ul li b { font-weight:800; }

/* fair02 */
.fair02 { cursor:none; position:relative; width:100%; padding:80px 0; background:#78409C; text-align:center;}
.fair02.is-bright { background:#BD84E6; }
.fair02.is-bright .fair02__btn.main { background:#78409C; }
.fair02.is-bright .fair02__btn.main:hover { background:linear-gradient(90deg,#F8E9FF 0%,#BD84E6 100%); background-size:220% 100%; animation:fair08Flow 3.2s ease-in-out infinite; color:#78409C; }
/* 상단 말풍선 */
.fair02__bubble { display:inline-block; background:#3a3a3a; color:#fff; font-size:22px; font-weight:500; padding:14px 42px; border-radius:32px; margin-bottom:40px; position:absolute;top:-33px;left:50%;transform:translateX(-50%);border:1px solid #FFFCC8;}
.fair02__bubble b { color:#FFFCC8; font-weight:700; }
.fair02__bubble:after { content:""; position:absolute; left:50%; bottom:-12px; transform:translateX(-50%); border-width:12px 10px 0; border-style:solid; border-color:#3a3a3a transparent transparent; }
/* 타이틀 */
.fair02__title { font-size:36px; color:#fff; font-weight:700; line-height:1.24; margin-bottom:60px; }
.fair02__title span { color:#BD84E6; }
/* 메인 버튼 */
.fair02__btn.main { margin:0 auto;display:flex; align-items:center; justify-content:center; width:420px; height:84px; background:#A46AD9; color:#fff; font-size:28px; font-weight:700; border-radius:999px; text-decoration:none;transition:.5s; }
/* 네이버 예약 원형 버튼 */
.fair02__btn.sub { position:absolute; right:-40px; width:160px; height:160px; background:#fff; color:#78409C; border-radius:50%; display:flex; align-items:center; justify-content:center; text-align:center; font-size:22px; font-weight:700; line-height:1.2; box-shadow:0 10px 30px rgba(0,0,0,.15);}
.fair02__btn.main:hover{background:linear-gradient(90deg,#F8E9FF 0%,#BD84E6 100%);background-size:220% 100%;animation:fair08Flow 3.2s ease-in-out infinite;color:#78409C;}
/* 커서 */
.fair02__cursor { position:absolute; width:120px; height:120px; pointer-events:none; transform:translate(-50%,-50%) scale(1); transition:transform .15s ease, opacity .2s ease; opacity:0; z-index:20; }
.fair02__cursor img { width:100%; height:100%; object-fit:contain; }
.fair02:hover .fair02__cursor { opacity:1; }
.fair02__cursor.is-hover { transform:translate(-50%,-50%) scale(1.15); }
.fair02__cursor.is-click { transform:translate(-50%,-50%) scale(0.9); }

/* fair03 */
.fair03 { background: linear-gradient(180deg, #ffffff 0%, #ffffff 20%, #A46AD9 100%); padding:120px 50px 140px; text-align:center; }
.fair03{overflow:visible;}

.fair03 .txt02 img {height:auto; }
.fair03>img{display:block;width:100%;height:auto;max-width:520px;margin:26px auto 60px;object-fit:contain;}

.fair03 .pass_badge { display:block; width:240px; max-width:70vw; margin:0 auto 70px; }
.fair03 .pass_list { max-width:860px; margin:0 auto; padding:0; list-style:none; display:flex; flex-direction: row;flex-wrap: wrap;justify-content: space-between;gap:30px 0}
.fair03 .pass_item { position:relative; overflow:hidden;transform:translateY(12px); opacity:0; transition:opacity .7s ease, transform .7s ease;width:48%}
.fair03 .pass_item.is-inview { opacity:1; transform:translateY(0); }
.fair03 .pass_item .img_base { display:block; width:100%; height:auto; }
.fair03 .pass_list .pass_item:nth-child(2), .fair03 .pass_list .pass_item:nth-child(5), .fair03 .pass_list .pass_item:nth-child(8) { margin-bottom:-10px; }

/* fair04 */
.fair04{padding:40px 0 0; text-align:center;}
.fair04 .txt01{font-size:56px;font-weight:500;color:#491D67;font-family: var(--font-rokaf);margin-top:42px}
.fair04 .txt02{font-size: 56px;font-weight:700;color:#78409C;font-family: var(--font-rokaf);margin-bottom:80px;line-height: 120%;}
.fair04 .txt03{font-size:22px;margin:40px auto 80px;color:#1C1C1C;font-weight:400;}
.fair04 .txt03 b{font-weight:800;}
.img_center{padding:0 10px;margin:0 auto;}


/* fair05 */
/* ============================================================
   fair05 — Premium Dress Benefits 섹션
   sect2_icon03 / sect2_icon04 재활용
============================================================ */
.fair05 { background:#F6F6F6; padding:0 24px 110px; text-align:center; position:relative; overflow:visible; }

.fair05__head {
    display:inline-block;
    background:#78409C; color:#fff;
    font-family:var(--font-rokaf); font-weight:500;
    font-size:32px; line-height:1.16; letter-spacing:-1.6px;
    padding:18px 56px; border-radius:999px;
    margin:-36px auto 80px;       /* 섹션 상단 경계에 걸치도록 위로 끌어올림 (배지 높이의 약 절반) */
    white-space:nowrap;
    position:relative; z-index:2;
}

.fair05__list {
    list-style:none; padding:0; margin:0 auto 80px;
    max-width:520px;
    display:flex; flex-direction:column; gap:32px;
}
.fair05__list li {
    display:flex; align-items:center; gap:28px; padding:6px 4px;
}
.fair05__list li > img {
    flex:0 0 auto; width:120px; height:120px; object-fit:contain;
}
.fair05__list .txt_wrap { flex:1 1 auto; text-align:left; }
.fair05__list .txt_wrap p {
    margin:0; color:#78409C;
    font-family:var(--font-suit); font-weight:500;
    font-size:24px; line-height:1.35; letter-spacing:-1.2px;
}
.fair05__list .txt_wrap p b { font-weight:700; }

.fair05__desc {
    color:#1C1C1C; font-family:var(--font-suit); font-weight:500;
    font-size:22px; line-height:1.5; letter-spacing:-1.1px;
    margin:0 0 26px;
}
.fair05__desc strong { font-weight:800; }

.fair05__brand_label {
    color:#DDA7F8; font-family:var(--font-suit); font-weight:600;
    font-size:20px; line-height:1.4; letter-spacing:.4px;
    margin:0 0 10px;
}

.fair05__brand_list {
    color:#1C1C1C; font-family:var(--font-suit); font-weight:500;
    font-size:18px; line-height:1.55; letter-spacing:-.8px;
    margin:0;
}

/* 모바일 (480px 이하) */
@media (max-width: 480px) {
    .fair05 { padding:0 18px 70px; }
    .fair05__head { font-size:22px; padding:14px 36px; margin:-26px auto 56px; }
    .fair05__list { gap:24px; margin-bottom:56px; }
    .fair05__list li { gap:20px; }
    .fair05__list li > img { width:88px; height:88px; }
    .fair05__list .txt_wrap p { font-size:18px; letter-spacing:-.9px; }
    .fair05__desc { font-size:17px; margin-bottom:22px; }
    .fair05__brand_label { font-size:15px; }
    .fair05__brand_list { font-size:14px; }
}

/* fair06 */
.fair06 { position:relative; width:100%; padding:110px 0 120px; overflow:hidden; text-align:center; }
.fair06__bg { position:absolute; inset:0; background:url("/img/202605/dress_benefit.png") center/cover no-repeat; transform:scale(1.02); }
.fair06__inner { position:relative; z-index:2; width:min(860px,100%); margin:0 auto; padding:0 20px; }
.fair06__top { margin:0 0 14px; font-size:30px; font-weight:400; color:#fff; }
.fair06__top b{font-weight:700;}
.fair06__tit { margin:0 0 52px; font-size:54px; font-weight:700; line-height:1.05; }
.fair06__tit span { color:#E9B4FF; }
.fair06__list { margin:0 auto 60px; padding:0; list-style:none; display:flex; flex-direction:column; gap:34px; width:min(760px,100%); }
.fair06__item { border-radius:26px; overflow:hidden; box-shadow:0 18px 45px rgba(0,0,0,.28); background:transparent; }
.fair06__itemHead { background:#E9B4FF; color:#fff; font-size:34px; font-weight:700; padding:28px 22px; }
.fair06__itemBody { background:#fff; color:#666; font-size:22px; font-weight:600; line-height:1.55; padding:26px 22px 28px; }
.fair06__bottom { margin:0; font-size:30px; font-weight:400; color:#fff; line-height:1.5; }
.fair06__bottom b { font-weight:700; }
@media (max-width:768px){ .fair06 { padding:90px 0 90px; } .fair06__inner { padding:0 16px; } .fair06__top { font-size:20px; } .fair06__tit { font-size:40px; margin-bottom:40px; } .fair06__list { gap:22px; margin-bottom:44px; } .fair06__itemHead { font-size:24px; padding:10px 16px; } .fair06__itemBody { font-size:16px; padding:18px 16px 20px; } .fair06__bottom { font-size:20px; } }

/* fair07 */
.fair07 { width:100%; }
.fair07__brand { padding:110px 0 0; }
.fair07__brand:nth-child(odd) { background:#F4F4F4; }
.fair07__brand:nth-child(even) { background:#fff; }
.fair07__head { width:min(860px,100%); margin:0 auto; padding:0 20px 70px; text-align:center; }
.fair07__dress { margin:0 0 28px; font-size:32px; font-weight:100; letter-spacing:2px; color:#A46AD9; font-family:var(--font-suit); }
.fair07__logo { display:flex; justify-content:center; align-items:center; margin:0 0 20px; }
.fair07__logo img {width:180px; display:block; }
.fair07__name { margin:0; font-size:34px; font-weight:400; color:#545454; }
.fair07__name b{font-weight:700;}
.fair07__slider { position:relative; width:100%; padding:0 0 110px; }
.fair07__swiper { width:100%; }
.fair07__swiper .swiper-wrapper { align-items:stretch; }
.fair07__swiper .swiper-slide { width:auto; height:420px; }
.fair07__swiper .swiper-slide img { width:100%; height:100%; object-fit:cover; display:block; }
.fair07__fade { position:absolute; inset:auto 0 110px 0; height:360px; pointer-events:none; background:linear-gradient(90deg,rgba(244,244,244,1) 0%,rgba(244,244,244,0) 12%,rgba(244,244,244,0) 88%,rgba(244,244,244,1) 100%); }
.fair07__brand:nth-child(even) .fair07__fade { background:linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,0) 12%,rgba(255,255,255,0) 88%,rgba(255,255,255,1) 100%); }


/* fair07 drag cursor (mint) */
.fair07 { position:relative; }
.fair07__slider { cursor:none; }
.fair07__cursor { position:absolute; width:120px; height:120px; border-radius:50%; background:rgba(255,255,255,.10); border:2px solid #BD84E6; backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; pointer-events:none; transform:translate(-50%,-50%) scale(.75); opacity:0; transition:opacity .18s ease, transform .18s ease; z-index:30; }
.fair07__cursor span { font-size:14px; font-weight:400; letter-spacing:2px; color:#BD84E6; opacity:.95; }
.fair07__cursor.is-show { opacity:1; }
.fair07__cursor.is-enter { animation:fair07CursorEnter .32s ease-out both; }
.fair07__cursor.is-leave { animation:fair07CursorLeave .22s ease-in both; }
.fair07__cursor.is-down { transform:translate(-50%,-50%) scale(.68); }
@keyframes fair07CursorEnter { 0%{transform:translate(-50%,-50%) scale(.75);} 65%{transform:translate(-50%,-50%) scale(1.08);} 100%{transform:translate(-50%,-50%) scale(1);} }
@keyframes fair07CursorLeave { 0%{opacity:1; transform:translate(-50%,-50%) scale(1);} 100%{opacity:0; transform:translate(-50%,-50%) scale(.72);} }
@media (max-width:768px){ .fair07__slider { cursor:auto; } .fair07__cursor { display:none; } .fair07__name { font-size:24px; } }


/* ✅ fair07: iPhone에서 비율 들쭉날쭉/가로로 길어지는 문제 해결 */
@media (max-width:640px){
  .fair07__swiper{padding:0 10px;}
  .fair07__swiper .swiper-slide{width:78%;aspect-ratio:3/4;height:auto;}
  .fair07__swiper .swiper-slide img{width:100%;height:100%;object-fit:cover;display:block;}
}


/* fair08 */
.fair08 { cursor:none; position:relative; width:100%; padding:80px 0; background:#78409C; text-align:center;}
.fair08__title { font-size:36px; color:#fff; font-weight:700; line-height:1.24; margin-bottom:60px; }
.fair08__title span { color:#DDA7F8; }
.fair08__btn.main { margin:0 auto;display:flex; align-items:center; justify-content:center; width:420px; height:84px; background:#FFFCC8; color:#78409C; font-size:28px; font-weight:700; border-radius:999px; text-decoration:none;transition:.5s; }
.fair08__btn.sub { position:absolute; right:-40px; width:160px; height:160px; }
.fair08__btn.main:hover { background:#FFF7DF; color:#491D67;}
.fair08__cursor { position:absolute; width:120px; height:120px; pointer-events:none; transform:translate(-50%,-50%) scale(1); transition:transform .15s ease, opacity .2s ease; opacity:0; z-index:20; }
.fair08__cursor img { width:100%; height:100%; object-fit:contain; }
.fair08:hover .fair08__cursor { opacity:1; }
.fair08__cursor.is-hover { transform:translate(-50%,-50%) scale(1.15); }
.fair08__cursor.is-click { transform:translate(-50%,-50%) scale(0.9); }
.fair08__actions { position:relative; width:420px; height:84px; margin:0 auto; }
.fair08__btn.main { width:100%; height:100%; margin:0; }
.fair08__btn.sub { display:none;position:absolute; right:-22px; top:50%; transform:translateY(-50%); width:120px; height:120px; }
@media (max-width:768px){ .fair08 { cursor:auto; } .fair08__actions { width:min(320px,86vw); height:76px; } .fair08__btn.main { font-size:22px; } .fair08__btn.sub { right:-18px; width:104px; height:104px; font-size:14px; } .fair08__cursor { display:none; } }




/* fair09 */
.fair09{background:url('/img/202607/makeup_bg.png')no-repeat center;padding:80px 0 0;text-align: center;}
.fair09 .txt01{font-size: 42px;font-weight:500;color:#BD84E6;font-family: var(--font-rokaf);margin-top:42px}
.fair09 .txt02{font-size: 42px;font-weight:700;color:#78409C;font-family: var(--font-rokaf);margin-bottom:42px;line-height: 120%;}
.fair09 .txt03{font-size:22px;margin:40px auto;color:#1C1C1C;font-weight:400;}
.fair09 .txt03 b{font-weight:800;}
.fair09 .logo{max-width:380px;height:auto;}
.fair09 .fair07__slider{padding:0 0 0}
/* eventCard */
.eventCard { position:relative; width:100%; padding:40px 50px 80px; display:flex; justify-content:center; }
.eventCard__box {
    position:relative;
    width:min(620px,100%);
    background:#fff; border-radius:36px;
    padding:65px 60px 60px;              /* 상단 패딩 축소 — 알약 아래 공간 줄이기 */
    text-align:center; box-shadow:0 10px 24px rgba(0,0,0,.10);
    overflow:visible;
}
.eventCard__pill {
    position:absolute;
    top:12px;
    left:50%;
    transform:translateX(-50%);
    width:auto; min-width:260px;
    padding:14px 44px;
    border-radius:999px;
    background:#A46AD9; color:#fff;
    display:inline-flex; align-items:center; justify-content:center;
    font-family:var(--font-rokaf); font-size:26px; font-weight:500; letter-spacing:-1.3px;
    box-shadow:0 8px 20px rgba(120,64,156,.25);
    z-index:2; white-space:nowrap;
}

/* 박람회 특별 혜택 카드 — 아이콘 리스트 */
.eventCard__list {
    list-style:none; padding:0; margin:0 auto;
    max-width:100%;
    display:flex; flex-direction:column; gap:36px;
}
.eventCard__list li {
    display:flex; align-items:center; gap:30px; padding:6px 0;
    text-align:left;
}
.eventCard__list li > img {
    flex:0 0 auto; width:110px; height:110px; object-fit:contain;
}
.eventCard__list .txt_wrap { flex:1 1 auto; }
.eventCard__list .txt_wrap p {
    margin:0; color:#78409C;
    font-family:var(--font-suit); font-weight:500;
    font-size:22px; line-height:1.4; letter-spacing:-1.1px;
}
.eventCard__list .txt_wrap p b { font-weight:700; }

/* (구) eventCard__tit / __desc 호환 */
.eventCard__tit { margin:0 0 10px; font-size:34px; font-weight:900; color:#111; }
.eventCard__desc { margin:0; font-size:30px; font-weight:500; color:#111; line-height:1.25; }
.eventCard__desc b { font-weight:900; }
.fair09 .bt_wrap{position:relative}
.fair09 .fair02__bubble.show{z-index:2;top:-48px}



/* fair10 */
.fair10{background:#FFF7DF url(/img/202605/studio_bg.jpg) no-repeat center top / cover;padding:80px 0 0;text-align: center;overflow: hidden;}
.fair10 .txt01{font-size: 42px;font-weight:500;color:#A46AD9;font-family: var(--font-rokaf);margin-top:42px}
.fair10 .txt02{font-size: 42px;font-weight:700;color:#491D67;font-family: var(--font-rokaf);margin-bottom:42px;line-height: 120%;}
.fair10 .txt03{font-size:22px;margin:40px auto;color:#1C1C1C;font-weight:400;}
.fair10 .imgcenter{margin:0 auto;width:90%;}
.fair10 .benefit{display:flex;flex-direction: column;margin:40px auto 100px;}
.fair10 .benefit img{margin:0 auto;width:80%;}
.fair10__inner { width:min(1120px,100%); margin:0 auto; padding:0 20px; }
.fair10__head { text-align:center; margin-bottom:60px; }
.fair10__h2 { font-family:var(--font-suit); font-size:62px; letter-spacing:6px; font-weight:300; color:#7EA8A8; margin:0 0 14px; }
.fair10__sub { font-size:22px; color:#1C1C1C; margin:0; opacity:.75; }
.fair10__brand { display:flex;flex-direction: column; align-items:center; margin:0 auto 70px;width:100%;max-width: 320px;}
.fair10__tit { position:relative; width:100%; height:80px; border-radius:28px 28px 0 0; overflow:hidden;}
.fair10__titBg { position:absolute; inset:0; }
.fair10__titBgImg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.fair10__titTxt { position:absolute; left:0; top:0; display:inline-flex; align-items:center; justify-content:center;width:100%;height:100%;text-align:center;;color:#fff; font-size:18px; font-weight:600; margin:0; }
.fair10__frame { position:relative; width:100%;border-radius:0 0 28px 28px;}
.fair10__swiper { width:100%; overflow:hidden; }
.fair10__swiper .swiper-wrapper { align-items:stretch; }
.fair10__swiper .swiper-slide { width:auto; height:auto; }
.fair10__swiper { width:100%; overflow:hidden; }
.fair10__swiper .swiper-slide { width:100%; }
.fair10__swiper .swiper-slide img { width:100%; height:420px; object-fit:cover; display:block; }
.fair10__frame { overflow:hidden; }
.fair10__brand:nth-child(odd) .fair10__titBgImg.is-a { opacity:1; }
.fair10__brand:nth-child(odd) .fair10__titBgImg.is-b { opacity:0; }
.fair10__brand:nth-child(even) .fair10__titBgImg.is-a { opacity:0; }
.fair10__brand:nth-child(even) .fair10__titBgImg.is-b { opacity:1; }


/* fair11 */
/* ============================================================
   fair11 — 당신의 웨딩을 미리 경험하다 (체험 카드 이미지 섹션)
   배경: #F8EAFF 라이트 라벤더 (Figma 정식)
============================================================ */
.fair11 { padding:120px 30px 100px; text-align:center; background:#F8EAFF; }
.fair11 .txt02 {
    font-family:var(--font-rokaf);
    font-size:60px; line-height:1.25; letter-spacing:-4.2px;
    margin:0 0 30px;
}
.fair11 .txt02 .line1 { color:#A46AD9; font-weight:500; }
.fair11 .txt02 .line2 { color:#78409C; font-weight:700; }
.fair11 .txt01 {
    font-family:var(--font-suit); font-size:24px; font-weight:500;
    color:#1C1C1C; line-height:1.5; letter-spacing:-1.2px;
    margin:0;
}
.fair11 .txt01 b { color:#78409C; font-weight:700; }

.fair11 .img_wrap {display: flex;flex-direction: row;gap: 18px;margin: 60px auto 0;max-width: 720px;flex-wrap: wrap;justify-content: center;     justify-content: center;
}
.fair11 .img_wrap img {
    display:block; width:48%; height:auto;
}

/* 모바일 */
@media (max-width: 768px) {
    .fair11 { padding:80px 20px 70px; }
    .fair11 .txt02 { font-size:42px; line-height:1.25; letter-spacing:-2.9px; margin-bottom:22px; }
    .fair11 .txt01 { font-size:18px; letter-spacing:-.9px; }
    .fair11 .img_wrap { gap:14px; margin-top:46px; }
}
@media (max-width: 480px) {
    .fair11 { padding:60px 16px 60px; }
    .fair11 .txt02 { font-size:32px; line-height:1.25; letter-spacing:-2.2px; margin-bottom:18px; }
    .fair11 .txt01 { font-size:15px; }
    .fair11 .img_wrap { gap:10px; margin-top:34px; }
}

/* ============================================================
   fair12 — 최고의 전문가들과 함께 (실제 후기 카드 4장)
============================================================ */
.fair12 {
    padding:60px 30px 100px;
    text-align:center;
    background:#fff;
}
.fair12 .txt01 {
    font-family:var(--font-suit);
    font-size:45px;                  /* Figma 70px / 1080 → 700 캔버스 ×0.65 */
    font-weight:300;                  /* 기본 thin */
    color:#000;
    line-height:1.25; letter-spacing:-3.2px;
    margin:0;
}
.fair12 .txt01 b { font-weight:700; color:#000; }

.fair12 .img_wrap {
    display:flex; flex-direction:column; gap:24px;
    margin:50px auto 0;
    max-width:720px;
}
.fair12 .img_wrap img {
    display:block; width:100%; height:auto;
}

/* 모바일 */
@media (max-width: 768px) {
    .fair12 { padding:40px 20px 70px; }
    .fair12 .txt01 { font-size:32px; line-height:1.25; letter-spacing:-2.2px; }
    .fair12 .img_wrap { gap:18px; margin-top:38px; }
}
@media (max-width: 480px) {
    .fair12 { padding:30px 16px 60px; }
    .fair12 .txt01 { font-size:24px; line-height:1.25; letter-spacing:-1.7px; }
    .fair12 .img_wrap { gap:14px; margin-top:28px; }
}

/* map_area */
.map_area{background:#fff;padding:90px 0;}
.map_area__inner{width:min(900px,100%);margin:0 auto;padding:0 24px;text-align:center;}
.map_area__eyebrow{font-family:var(--font-suit);font-size:28px;letter-spacing:1px;font-weight:300;color:#1C1C1C;margin:0 0 12px;}
.map_area__title{font-family:var(--font-suit);font-size:44px;font-weight:800;color:#BD84E6;margin:0 0 32px;}
.map_area__addr{margin:0 auto 34px;}
.map_area__addrTit{font-size:22px;font-weight:800;color:#1C1C1C;margin:0 0 10px;}
.map_area__addrTxt{font-size:18px;font-weight:400;color:#1C1C1C;opacity:.85;margin:0 0 10px;}
.map_area__addrName{font-size:20px;font-weight:800;color:#491D67;margin:0;}
.map_area__map{margin:34px auto 42px;width:100%;}
.map_area__map img{display:block;width:100%;height:auto;border-radius:0;}
.map_area__info{display:grid;grid-template-columns:1fr 1fr;gap:30px 40px;text-align:left;margin:0 auto;}
.map_area__col{display:flex;flex-direction:column;gap:10px;}
.map_area__colTit{font-size:18px;font-weight:800;color:#1C1C1C;margin:0;}
.map_area__colTxt{font-size:16px;line-height:1.75;color:#1C1C1C;opacity:.8;margin:0;}
@media (max-width:768px){.map_area{padding:70px 0;}.map_area__eyebrow{font-size:22px;}.map_area__title{font-size:34px;margin:0 0 24px;}.map_area__addrTit{font-size:18px;}.map_area__addrTxt{font-size:15px;}.map_area__addrName{font-size:17px;}.map_area__map{margin:26px auto 30px;}.map_area__info{grid-template-columns:1fr;gap:18px;}}


/* =========================
   Fixed Timer Bar (ftimer)
   스샷 스타일: 좌측 게이지 + 우측 반투명 영역 + 버튼
========================= */
.ftimer{position:fixed;left:0;right:0;bottom:16px;z-index:9999;display:flex;justify-content:center;padding:0 16px;pointer-events:none;}
.ftimer__inner{pointer-events:auto;width:min(980px,100%);height:80px;border-radius:32px;overflow:hidden;background:rgba(66,66,66,.85);box-shadow:0 12px 30px rgba(0,0,0,.25);display:flex;align-items:stretch;position:relative;}

/* ✅ 게이지(전체 바에 깔림) */
.ftimer__gwrap{position:absolute;inset:0;z-index:0;}
.ftimer__gauge{position:absolute;left:0;top:0;bottom:0;width:100%;background:linear-gradient(90deg,#E9B4FF 0%,#BD84E6 59.6%,#A46AD9 100%);transform-origin:left center;transform:scaleX(1);transition:transform .35s ease;}

/* 왼쪽 라벨 영역(배경 투명: 게이지가 보이게) */
.ftimer__left{flex:1;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 26px;background:transparent;}
.ftimer__label{font-family:var(--font-suit);font-size:21px;font-weight:800;color:#fff;letter-spacing:-1.3px;white-space:nowrap;}

/* ✅ 오른쪽 영역(게이지 위에 반투명 검정 덮어서 스샷처럼) */
.ftimer__right{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 8px 0 18px;}
.ftimer__time{font-family:var(--font-suit);font-size:18px;font-weight:800;color:#fff;letter-spacing:1px;white-space:nowrap;}

/* 버튼 */
.ftimer__cta{font-family:var(--font-suit);height:60px;padding:0 24px;border-radius:24px;display:inline-flex;align-items:center;justify-content:center;background:#FFFCC8;color:#78409C;font-size:21px;font-weight:900;letter-spacing:-1.3px;text-decoration:none;box-shadow:0 4px 12px rgba(0,0,0,.18);transition:transform .12s ease,filter .2s ease;}
.ftimer__cta:active{transform:scale(.97);}

/* 마감 상태(원하면 JS에서 .is-ended 붙임) */
.ftimer.is-ended .ftimer__gauge{transform:scaleX(0);}
.ftimer.is-ended .ftimer__time{opacity:.85;}
.ftimer.is-ended .ftimer__cta{filter:grayscale(1) brightness(.95);}

/* responsive */
@media (max-width:640px){
  .ftimer{bottom:20px;padding:0 12px;}
  .ftimer__inner{height:68px;}
  .ftimer__label{font-size:16px;letter-spacing:-.9px;}
  .ftimer__left{padding:0 18px;}
  .ftimer__right{padding:0 8px 0 12px;}
  .ftimer__time{font-size:13px;letter-spacing:.6px;}
  .ftimer__cta{height:48px;font-size:16px;padding:0 18px;border-radius:18px;letter-spacing:-.9px;}
}
.ftimer__time{color:#fff;transition:color .2s ease;}
.ftimer.is-light-time .ftimer__time{color:#fff;} /* Figma: 항상 white */


    /**모바일***/
    @media (max-width:768px){
        .fair_btn span { font-size:22px;color:#fff }
        .fair01 { padding:80px 5px; }
        .fair01 .txt01 { font-size:24px; }
        .fair01 .txt02 { font-size:52px; }
        .fair01 .txt03 { font-size:18px; }
        .fair01 .txt04 { font-size:18px;margin-bottom:20px }
        .fair01 .txt05 { font-size:40px; }
        .fair01 .txt06 { font-size:18px; }
        .fair01 img { margin-bottom:60px; }
        .fair01 ul{gap:14px 6px}
        .fair01 ul li { width:auto; font-size:12px; padding:10px 4px;}
        .fair_btn::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#F8E9FF 0%,#BD84E6 100%); background-size:300% 300%; opacity:0; transition:opacity .3s ease; z-index:0; }
        .fair_btn::before { opacity:1; animation:gradientMove 10s ease infinite; }
        .fair_btn::before span{ color:#78409C; }
        .fair_btn, .fair_btn b { position:relative; z-index:1; }
        @keyframes gradientMove { 0%{background-position:0% 50%;} 50%{background-position:100% 50%;} 100%{background-position:0% 50%;} }


        .fair02 { padding:70px 5px 30px; }
        .fair02__title { font-size:25px;margin-bottom:20px }
        .fair02__bubble { font-size:18px; padding:10px 15px;width:70% ;top: -20px;}
        .fair02__btn.main { width:280px; height:46px; font-size:22px; }
        .fair02__btn.sub{display: flex;}
        .fair02__actions{padding-top:19px}
        .fair02__btn.main{position:relative;overflow:hidden;background:transparent;color:#78409C;box-shadow:0 14px 35px rgba(0,0,0,.12);}
        .fair02__btn.main::before{content:"";position:absolute;inset:0;border-radius:999px;background:linear-gradient(90deg,#F8E9FF 0%,#BD84E6 100%);background-size:220% 100%;animation:fair08Flow 3.2s ease-in-out infinite;z-index:0;} 
        .fair02__btn.main{isolation:isolate;} 
        .fair02__btn.main{display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:-.6px;} 
        .fair02__btn.main>*{position:relative;z-index:1;} 
        .fair02__btn.main:active{transform:scale(.98);}
        .fair02__btn.main a{color:#78409C ;z-index: 1;}
        
        .fair03 { padding:120px 20px 140px; }
        .fair03 .pass_badge { width:200px; margin-bottom:50px; }
        .fair03 .pass_list { gap:16px; }

        .fair04 .txt01{font-size:32px}
        .fair04 .txt02{font-size:32px;}
        .fair04 .txt03{font-size:20px}

        /* fair05 모바일은 새 미디어 쿼리(@media max-width:480px) 블록에서 처리 */

        .fair08 { padding:70px 5px 30px; }
        .fair08__title { font-size:25px;margin-bottom:20px }
        .fair08__bubble { font-size:18px; padding:10px 15px;width:70% ;top: -20px;}
        .fair08__btn.main { width:280px; height:46px; font-size:22px; }
        .fair08__btn.sub{display: flex;}
        .fair08__actions{padding-top:19px}
        .fair08__btn.main{position:relative;overflow:hidden;background:transparent;color:#78409C;box-shadow:0 14px 35px rgba(0,0,0,.12);}
        .fair08__btn.main::before{content:"";position:absolute;inset:0;border-radius:999px;background:linear-gradient(90deg,#F8E9FF 0%,#BD84E6 100%);background-size:220% 100%;animation:fair08Flow 3.2s ease-in-out infinite;z-index:0;} 
        .fair08__btn.main{isolation:isolate;} 
        .fair08__btn.main{display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:-.6px;} 
        .fair08__btn.main>*{position:relative;z-index:1;} 
        .fair08__btn.main:active{transform:scale(.98);}
        .fair08__btn.main a{color:#78409C ;z-index: 1;}

        .fair09 .txt01{font-size:30px}
        .fair09 .logo{max-width: 220px;}
        .fair09 .txt02{font-size:32px;}
        .fair09 .txt03{font-size:20px}
        .fair09 .fair_btn{padding:26px 0;}
        .fair09 .fair_btn span{font-size:24px;font-weight:700;}
        .fair09 .fair02__bubble.show{z-index:2;top:-34px;}
        .eventCard { padding:34px 24px 60px; }
        .eventCard__box { border-radius:32px; padding:48px 24px 44px; }
        .eventCard__pill { top:10px; min-width:200px; padding:11px 26px; font-size:20px; letter-spacing:-1px; }
        .eventCard__list { gap:22px; }
        .eventCard__list li { gap:18px; }
        .eventCard__list li > img { width:80px; height:80px; }
        .eventCard__list .txt_wrap p { font-size:17px; letter-spacing:-.8px; }
        .eventCard__tit { font-size:26px; }
        .eventCard__desc { font-size:24px; }

        .fair10 .txt01{font-size:36px}
        .fair10 .txt02{font-size:36px;}
        .fair10 .txt03{font-size:20px}
        .fair10 .benefit{margin:20px auto 30px;width:90%;}
        
    }
@keyframes fair08Flow{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}


/* ===================================================
   사전 신청 폼 섹션  (pre_register)
   =================================================== */

.pre_register {
  background: linear-gradient(160deg, #78409C 0%, #1A0A2E 100%);
  padding: 100px 20px 120px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.pre_register::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% -10%, rgba(0,174,255,.15) 0%, transparent 65%);
  pointer-events: none;
}

.pre_register__inner {
  position: relative;
  width: min(600px, 100%);
  margin: 0 auto;
}

.pre_register__eyebrow {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 3px;
  color: #F8E9FF;
  margin: 0 0 16px;
}

.pre_register__title {
  font-size: 48px;
  font-weight: 800;
  color: #fff;
  margin: 0 0 18px;
  line-height: 1.1;
}

.pre_register__desc {
  font-size: 18px;
  color: rgba(255,255,255,.75);
  margin: 0 0 50px;
  line-height: 1.6;
}
.pre_register__desc b { color: #FFD454; font-weight: 700; }

/* 폼 */
.pre_register__form {
  background: #fff;
  border-radius: 24px;
  padding: 40px 36px 44px;
  text-align: left;
  box-shadow: 0 24px 64px rgba(0,0,0,.28);
}

.preg__row {
  margin-bottom: 22px;
}
.preg__row--name {
  display: flex;
  gap: 16px;
}
.preg__row--name .preg__field--name { flex: 1; }
.preg__row--name .preg__field--role { width: 160px; flex-shrink: 0; }

.preg__label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #333;
  margin-bottom: 8px;
  letter-spacing: 0;
}
.preg__label .req {
  font-size: 11px;
  font-weight: 500;
  color: #491D67;
  margin-left: 4px;
}

.preg__input {
  width: 100%;
  height: 50px;
  border: 1.5px solid #ddd;
  border-radius: 10px;
  padding: 0 14px;
  font-size: 15px;
  font-family: inherit;
  color: #222;
  box-sizing: border-box;
  transition: border-color .2s;
  background: #fafafa;
}
.preg__input:focus {
  outline: none;
  border-color: #491D67;
  background: #fff;
}
.preg__input--date {
  cursor: pointer;
}

/* 라디오 그룹 */
.preg__radio_group {
  display: flex;
  gap: 10px;
}
.preg__radio_group--date {
  flex-direction: column;
  gap: 10px;
}
.preg__radio {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.preg__radio input[type="radio"] { display: none; }
.preg__radio span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border: 1.5px solid #ddd;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 500;
  color: #666;
  background: #fafafa;
  transition: all .2s;
  width: 100%;
  white-space: nowrap;
}
.preg__radio input[type="radio"]:checked + span {
  border-color: #491D67;
  background: #F8E9FF;
  color: #78409C;
  font-weight: 700;
}
.preg__radio--date {
  width: 100%;
}
.preg__radio--date span {
  width: 100%;
  justify-content: flex-start;
  padding-left: 16px;
}

/* 결혼예정일 */
.preg__wedding_wrap {
  display: flex;
  gap: 12px;
  align-items: center;
}
.preg__wedding_wrap .preg__input--date { flex: 1; }
.preg__radio--undecided span {
  padding: 10px 14px;
  font-size: 13px;
  white-space: nowrap;
}
.preg__radio--undecided input[type="checkbox"] { display: none; }
.preg__radio--undecided input[type="checkbox"]:checked + span {
  border-color: #491D67;
  background: #F8E9FF;
  color: #78409C;
  font-weight: 700;
}

/* 동의 영역 */
.preg__agree_wrap {
  border-top: 1px solid #eee;
  padding-top: 20px;
  margin-bottom: 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.preg__agree {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
}
.preg__agree input[type="checkbox"] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: #491D67;
  cursor: pointer;
}
.preg__agree_txt { font-size: 13px; color: #555; line-height: 1.5; }
.preg__agree_txt b { color: #222; font-weight: 700; }
.preg__agree_txt small { font-size: 11px; color: #999; }

/* 제출 버튼 */
.preg__submit {
  width: 100%;
  height: 62px;
  background: linear-gradient(90deg,#F8E9FF 0%,#BD84E6 100%);
  color: #fff;
  font-size: 20px;
  font-weight: 800;
  border: none;
  border-radius: 14px;
  cursor: pointer;
  transition: opacity .2s, transform .15s;
  font-family: inherit;
}
.preg__submit:hover { opacity: .9; transform: translateY(-1px); }
.preg__submit:active { transform: translateY(0); }
.preg__submit:disabled { opacity: .55; cursor: not-allowed; transform: none; }

/* 완료 메시지 */
.preg__success {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 24px;
  padding: 60px 30px;
  box-shadow: 0 24px 64px rgba(0,0,0,.28);
  animation: fadeInUp .6s ease;
}
.preg__success_icon {
  width: 72px;
  height: 72px;
  background: #491D67;
  color: #fff;
  font-size: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}
.preg__success_title {
  font-size: 24px;
  font-weight: 800;
  color: #78409C;
  margin-bottom: 12px;
}
.preg__success_desc {
  font-size: 16px;
  color: #555;
  line-height: 1.7;
  text-align: center;
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* 모바일 */
@media (max-width: 520px) {
  .pre_register__form { padding: 28px 20px 32px; }
  .pre_register__title { font-size: 34px; }
  .preg__row--name { flex-direction: column; gap: 12px; }
  .preg__row--name .preg__field--role { width: 100%; }
  .preg__submit { font-size: 17px; height: 56px; }
}


/* ===========================================
   푸터 (lara_footer)
   =========================================== */
.lara_footer {
    background: #3A3A3A;
    color: #C8C8C8;
    padding: 50px 30px 36px;
    font-family: var(--font-suit, 'SUIT', 'Pretendard', sans-serif);
    margin-top: 0;
}
.lara_footer__inner {
    width: min(1100px, 100%);
    margin: 0 auto;
}
.lara_footer__inner p {
    margin: 0 0 8px;
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: -0.3px;
}
.lara_footer__copy {
    margin-top: 26px !important;
    padding-top: 20px;
    border-top: 1px solid #4A4A4A;
    font-size: 13px !important;
    color: #888;
}

@media (max-width: 768px) {
    .lara_footer { padding: 36px 20px 28px; }
    .lara_footer__inner p { font-size: 13px; }
    .lara_footer__copy { font-size: 12px !important; margin-top: 20px !important; padding-top: 16px; }
}

/* ===== PC(태블릿 이상) 캔버스 폭 제한 ===== */
@media (min-width: 768px) {
    html, body { margin:0; padding:0; background:#eef1f7; }
    /* gnuboard5 기본 컨테이너들을 700px로 통일 + 가운데 정렬 */
    #hd_pop, #hd_wrapper, #tnb .inner, #gnb .gnb_wrap, #container_wr, #ft_wr {
        max-width:700px;
        margin:0 auto;
    }
    /* 랜딩 본문 캔버스 */
    #wedding_fair2026 {
        max-width:700px !important;
        width:100% !important;
        margin:0 auto !important;
        background:#fff;
        box-shadow:0 0 30px rgba(0,0,0,.08);
        position:relative;
    }
    /* 하단 고정 타이머도 캔버스 폭에 맞춤 */
    .ftimer { left:50%; right:auto; transform:translateX(-50%); width:700px; max-width:100%; padding:0 12px; box-sizing:border-box; }
    .ftimer__inner { width:100%; }
}

/* ============================================================
   partners — 파트너 브랜드 섹션
   반응형: clamp()로 뷰포트에 따라 자연스럽게 스케일
============================================================ */
.partners {
    background:#fff;
    padding:clamp(56px, 12vw, 100px) clamp(16px, 4vw, 30px);
    text-align:center;
}

.partners__title {
    margin:0 0 clamp(20px, 4vw, 40px);
    font-family:var(--font-rokaf);
    font-size:clamp(24px, 7.5vw, 52px);       /* PC 52 / 모바일 ~26 */
    line-height:1.32;
    letter-spacing:-0.06em;                    /* 폰트크기 기준 자동 스케일 */
}
.partners__title .c1 { color:#A46AD9; font-weight:500; }
.partners__title .c2 { color:#78409C; font-weight:700; }

.partners__desc {
    margin:0 0 clamp(44px, 10vw, 80px);
    color:#363636;
    font-family:var(--font-suit);
    font-weight:500;
    font-size:clamp(14px, 4vw, 29px);          /* PC 29 / 모바일 ~15 */
    line-height:1.5;
    letter-spacing:-0.05em;
}
.partners__desc b { font-weight:800; }

.partners__group {
    max-width:720px;
    margin:0 auto clamp(36px, 7vw, 60px);
}

/* 카테고리 라벨 알약 (예복 / 예물 / 한복 / 피부 / 여행사) */
.partners__label {
    display:inline-block;
    padding:clamp(6px, 1.2vw, 10px) clamp(24px, 5vw, 44px);
    border-radius:999px;
    background:#78409C;
    color:#fff;
    font-family:var(--font-suit);
    font-weight:700;
    font-size:clamp(14px, 4vw, 29px);          /* desc와 동일 스케일 */
    line-height:1.25;
    letter-spacing:-0.05em;
    margin:0 0 clamp(14px, 3vw, 24px);
}
.partners__label.c1 { background:#78409C; }   /* 예복, 한복, 여행사 */
.partners__label.c2 { background:#A46AD9; }   /* 예물, 피부 */

/* 파트너 이미지 2개 나란히 (예복/예물/여행사) */
.partners__row {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(8px, 1.8vw, 14px);
}
.partners__row img {
    display:block; width:100%; height:auto;
}

/* 한복 + 피부 분할 (라벨+이미지 컬럼 2개) */
.partners__group--split {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(8px, 1.8vw, 14px);
    text-align:center;
}
.partners__col img {
    display:block; width:100%; height:auto;
}
