/* ============================================================
   main202609 — 2026 청주 라라웨딩페어 9월 (September / Brown palette)
   Figma 700px 캔버스 기준. 팔레트:
   진갈색  #673b12  (다크 섹션 bg / 메인 버튼 / 라이트 섹션 타이틀)
   아이보리 #fff6ef  (카드 bg / 다크 위 텍스트)
   살구    #fbcf95  (다크 섹션 CTA 알약 / 포인트)
   카라멜  #c07e40  (라벨 알약 / 포인트 텍스트)
   오버라인 #d1ac81 / 그레이 #444 #363636 #40443d / 폰 #0e0e0e / 파트너라벨 #fffcc8
============================================================ */

/* ---- iOS Safari 폰트 부스팅 방지 (700px 캔버스 축소 시 일부 텍스트만 커지는 현상) ---- */
html, body, #wedding_fair2026 {
    -webkit-text-size-adjust:100%;
    -moz-text-size-adjust:100%;
    text-size-adjust:100%;
}

/* ---- 폰트 ---- */
@font-face {
    font-family:'Wandocleansea';
    src:url('/fonts/WandocleanseaR.woff2') format('woff2'),
        url('/fonts/WandocleanseaR.otf') format('opentype');
    font-weight:400; font-display:swap;
}
@font-face {
    font-family:'Wandocleansea';
    src:url('/fonts/WandocleanseaB.woff2') format('woff2'),
        url('/fonts/WandocleanseaB.otf') format('opentype');
    font-weight:500 700; font-display:swap;
}
@font-face {
    font-family:'Wandohope';
    src:url('/fonts/WandohopeR.woff2') format('woff2'),
        url('/fonts/WandohopeR.otf') format('opentype');
    font-weight:400; font-display:swap;
}
@font-face {
    font-family:'Wandohope';
    src:url('/fonts/WandohopeB.woff2') format('woff2'),
        url('/fonts/WandohopeB.otf') format('opentype');
    font-weight:500 700; font-display:swap;
}

:root {
    --font-suit:"SUIT",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --font-wando:'Wandocleansea', var(--font-suit);
    --font-audrey:'Audrey','Didot','Bodoni MT','Playfair Display',serif;
    --brown:#673b12;
    --ivory:#fff6ef;
    --apricot:#fbcf95;
    --caramel:#c07e40;
    --sand:#d1ac81;
}
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;}
#wedding_fair2026{overflow:hidden;}
/* 줌 스케일 방식: 래퍼가 항상 700px 레이아웃을 유지하므로 clip 안전망 불필요 */
#wedding_fair2026 section{max-width:100%;}

/* ============================================================
   스크롤 등장 애니메이션 (data-ani)
============================================================ */
[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); }
[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); }
[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); }

/* 카드 stagger */
.s_benefit__card:nth-child(2n) { transition-delay:.12s; }
.bcards .bcard:nth-child(2) { transition-delay:.15s; }
.s_allinone__grid li:nth-child(2), .s_allinone__grid li:nth-child(5) { transition-delay:.12s; }
.s_allinone__grid li:nth-child(3), .s_allinone__grid li:nth-child(6) { transition-delay:.24s; }
.s_review__card:nth-child(2) { transition-delay:.1s; }
.s_review__card:nth-child(3) { transition-delay:.2s; }
.s_review__card:nth-child(4) { transition-delay:.3s; }

/* ============================================================
   공통 컴포넌트
============================================================ */

/* 히어로 */
.hero { position:relative; background:#fff; }
.hero img { display:block; width:100%; height:auto; }

/* CTA 버튼 (포스터 하단 알약) */
.cta_wrap { background:#fff; padding:30px 46px 60px; text-align:center; }
.cta_btn {
    display:flex; align-items:center; justify-content:center;
    width:min(608px,100%); height:81px; margin:0 auto;
    box-sizing:border-box;
    background:var(--brown); border-radius:48.5px;
    color:#fff; font-family:var(--font-suit); font-weight:700;
    font-size:40px; letter-spacing:-3.2px; text-decoration:none;
    transition:background .25s ease, transform .12s ease;
}
.cta_btn:hover { background:#c07e40; }
.cta_btn:active { transform:scale(.98); }

/* 오버라인 (Audrey Italic) */
.ov {
    margin:0 0 26px;
    font-family:var(--font-audrey); font-style:italic; font-weight:500;
    font-size:20px; letter-spacing:-1.6px; text-align:center;
    color:var(--sand);
    max-width:100%; overflow-wrap:break-word;
}
.ov--caramel { color:var(--caramel); }
.ov--apricot { color:var(--apricot); }

/* ── #0 단 2일 혜택 요약 (티켓 리스트) ──────────────── */
.s_ticket {
    background:var(--caramel);          /* #c07e40 */
    padding:109px 0 122px;
    text-align:center;
}
.s_ticket__tit {
    margin:0 0 43px;
    font-family:var(--font-wando); font-weight:700;
    font-size:50px; letter-spacing:-4px; line-height:65px;
}
.s_ticket__tit_top { display:block; color:#ffebcc; white-space:nowrap; }
.s_ticket__tit_box {
    display:inline-flex; align-items:center; justify-content:center;
    min-width:464px; max-width:calc(100% - 40px); height:67px;
    margin:0 auto; padding:4px 22px 0; box-sizing:border-box;
    border-radius:8px; background:#814b22; color:#fff;
    white-space:nowrap;              /* 줄바꿈 방지 (박스 밖으로 글자 튀는 현상) */
}
.s_ticket__desc {
    margin:0 0 32px;
    font-family:var(--font-suit); font-weight:600;
    font-size:40px; letter-spacing:-3.2px; line-height:1.25;
    color:#ffebcc;
}
.s_ticket__desc b { font-weight:700; color:#fff; }

.s_ticket__list { list-style:none; margin:0 auto; padding:0; width:526px; max-width:calc(100% - 40px); }
.tkt {
    position:relative;
    display:flex; align-items:center; gap:25px;
    height:164.5px; margin-bottom:12.7px;
    padding:0 34px 0 50px;             /* Figma: 텍스트 시작 182px */
    background:url('/img/202609/tk_shape.svg') center/100% 100% no-repeat;
    box-sizing:border-box;
}
.tkt:last-child { margin-bottom:0; }
.tkt__icon {
    flex:0 0 107px; height:103px;
    display:flex; align-items:center; justify-content:center;
}
.tkt__icon img { max-width:100%; max-height:100%; object-fit:contain; display:block; }
.tkt__txt {
    margin:0; text-align:left;
    font-family:var(--font-wando); font-weight:700;
    font-size:38px; letter-spacing:-3.04px; line-height:1.28;
    color:var(--brown);
}
.tkt__txt .ac { color:#c45f00; }

/* 티켓 섹션 내부 CTA — 흰 배경 제거하고 섹션 배경 유지 */
.cta_wrap--ticket { background:transparent; margin-top:98px; padding:0 46px; }

/* 다크 섹션 공통 (#673b12 + 저채도 텍스처 오버레이) */
.dark_sec { position:relative; background:var(--brown); overflow:hidden; }
.dark_sec::before {
    content:""; position:absolute; inset:0;
    background-position:center bottom; background-size:cover; background-repeat:no-repeat;
    opacity:.19; pointer-events:none;
}
.dark_sec--tx1::before { background-image:url('/img/202609/sect02_bg.jpg'); opacity:1; }
.dark_sec--tx2::before { background-image:url('/img/202609/dark_texture2.png'); opacity:1; }
.dark_sec--tx3::before { background-image:url('/img/202609/sect12_bg.jpg'); opacity:1; filter:none; }
.dark_sec__inner { position:relative; z-index:1; }

/* 다크 섹션 타이틀 세트 */
.dark_tit {
    margin:0 0 14px;
    font-family:var(--font-wando); font-weight:700;
    font-size:50px; letter-spacing:-3px; line-height:1.2;
    color:var(--ivory); text-align:center;
}
.dark_sub {
    margin:0;
    font-family:var(--font-wando); font-weight:400;
    font-size:35px; letter-spacing:-3.85px; line-height:1.25;
    color:var(--apricot); text-align:center;
}
.dark_sub b { font-weight:700; }

/* 혜택 카드 페어 (아이보리 박스 + 카라멜 알약) */
.bcards {
    display:flex; justify-content:center; gap:24px;
    margin:0 auto; padding:0 46px; max-width:608px;
}
.bcard { position:relative; flex:1 1 0; max-width:274px; padding-top:24px; }
.bcard__pill {
    position:absolute; top:0; left:50%; transform:translateX(-50%);
    display:inline-flex; align-items:center; justify-content:center;
    min-width:216px; height:49px; padding:0 24px;
    background:var(--caramel); border-radius:27px;
    font-family:var(--font-audrey); font-style:italic; font-weight:500;
    font-size:24px; letter-spacing:-1.92px; color:#fff;
    padding-top:4px;                 /* Audrey 이탤릭 베이스라인 시각 중앙 보정 */
    white-space:nowrap; max-width:100%; box-sizing:border-box; z-index:2;
}
.bcard__txt {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    min-height:178px; margin:0; padding:34px 12px 18px;
    background:var(--ivory);
    font-family:var(--font-suit); font-weight:700;
    font-size:25px; letter-spacing:-2px; line-height:1.35;
    color:var(--brown); text-align:center;
}
.bcard__txt .ac { color:var(--caramel); }

/* 섹션 CTA 알약 */
.pill_cta {
    display:flex; align-items:center; justify-content:center;
    width:min(322px,100%); height:62px; margin:0 auto; box-sizing:border-box;
    border-radius:37px;
    font-family:var(--font-suit); font-weight:700;
    font-size:26px; letter-spacing:-2.08px; text-decoration:none;
    transition:background .25s ease, color .25s ease, filter .25s ease, transform .12s ease;
}
.pill_cta:active { transform:scale(.97); }
.pill_cta--dark { background:var(--brown); color:#fff; }
.pill_cta--dark:hover { filter:brightness(1.18); }
.pill_cta--light { background:var(--apricot); color:var(--brown); }
.pill_cta--light:hover { background:#c07e40; color:#fff; filter:none; }

/* 고정 이미지 스트립 (네트워크 행 — 흐름 없음, 한 장씩 순차 등장) */
.strip_fixed { width:100%; }
.strip_fixed__track {
    display:flex; justify-content:center; flex-wrap:wrap;
    gap:13px; padding:0 12px;
}
.strip_fixed__track img {
    flex:0 0 auto; width:155px; height:215px;
    object-fit:cover; border-radius:27px;
}
/* 한 장씩 stagger 등장 */
.strip_fixed__track img:nth-child(1) { transition-delay:0s; }
.strip_fixed__track img:nth-child(2) { transition-delay:.15s; }
.strip_fixed__track img:nth-child(3) { transition-delay:.3s; }
.strip_fixed__track img:nth-child(4) { transition-delay:.45s; }

/* 자동 마퀴 (이미지 스트립 — 동일 시퀀스 2회 반복 후 -50% 이동) */
.marquee { overflow:hidden; width:100%; }
.marquee__track { display:flex; width:max-content; animation:marqueeMove 30s linear infinite; will-change:transform; }
.marquee__track img {
    flex:0 0 auto; width:155px; height:215px; margin-right:13px;
    object-fit:cover; border-radius:27px;
}
.marquee--big .marquee__track img { width:180px; height:250px; }
.marquee:hover .marquee__track { animation-play-state:paused; }
@keyframes marqueeMove { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce) { .marquee__track { animation:none; } }

/* 라이트 하단 밴드 (#fff6ef — DRESS BRAND / LARA STUDIO BRAND) */
.sec_band { background:var(--ivory); margin-top:70px; padding:48px 0 60px; }
/* 밴드 내 마퀴: 라운드 제거 + 사진 간격 0 (풀블리드 연속)
   한 화면에 2장씩 보이도록 대형 사이즈 (700px 캔버스 ÷ 2) */
.sec_band .marquee__track img { border-radius:0; margin-right:0; width:350px; height:486px; }
.s_raffine__more { margin-top:44px; }

/* ── 브랜드 탭 + 슬라이더 (스튜디오 화보) ───────────── */
.btabs {
    display:flex; justify-content:center; align-items:center; gap:12px;
    margin:0 auto 22px; padding:0 20px; flex-wrap:wrap;
}
.btab {
    display:inline-flex; align-items:center; justify-content:center;
    min-width:132px; height:44px; padding:0 22px;
    background:#fff; border:0; border-radius:22px;
    cursor:pointer; transition:background .25s ease, box-shadow .25s ease;
    box-shadow:0 1px 4px rgba(103,59,18,.06);
}
.btab img { height:17px; width:auto; max-width:120px; object-fit:contain; display:block; }
.btab:hover { background:#faeadb; }
.btab.is-active { background:var(--apricot); box-shadow:0 2px 8px rgba(103,59,18,.14); }
.btab--static { cursor:default; }
.btab--static:hover { background:#fff; }

.bslider {
    position:relative;   /* 자식 img의 offsetLeft 기준점 = 스크롤 좌표 */
    width:100%; overflow-x:auto; overflow-y:hidden;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
.bslider::-webkit-scrollbar { display:none; }
.bslider__track { display:flex; width:max-content; }
.bslider__track img {
    flex:0 0 auto; width:350px; height:486px;
    object-fit:cover; display:block;
}
/* 드레스 슬라이더 — Figma 사이즈(225×300), 한 화면 약 3장 */
.bslider--dress .bslider__track img { width:225px; height:300px; }
/* 드레스 탭 — 4열 2행 그리드 (8개 브랜드) */
.btabs--dress {
    display:grid; grid-template-columns:repeat(4, 147px);
    gap:17px 9px; justify-content:center;
    margin:40px auto 70px; padding:0 20px;
}
.btabs--dress .btab {
    width:147px; min-width:0; height:57px; padding:0 10px; border-radius:29px;
}
.btabs--dress .btab img { height:auto; max-height:30px; max-width:120px; }
.sec_band__tit {
    margin:0 0 24px;
    font-family:var(--font-audrey); font-style:italic; font-weight:500;
    font-size:35px; letter-spacing:-2.8px; text-align:center;
    color:var(--caramel);
}
.sec_band__desc {
    margin:0 0 36px;
    font-family:var(--font-suit); font-weight:500;
    font-size:25px; letter-spacing:-2px; line-height:1.45;
    color:var(--brown); text-align:center;
}
.sec_band__desc b { font-weight:800; }

/* 브랜드 로고 공통 */
.lg_vivienda { width:154px; height:auto; }
.lg_rakma { width:109px; height:auto; }
.lg_knoll { width:195px; height:auto; }
.lg_raffine { width:195px; height:auto; object-fit:contain; }
.lg_comme { width:264px; height:auto; }
/* 웨딩열컷 로고 (스프라이트 크롭) */
.lg_10cut { position:relative; display:block; width:258px; height:98px; margin:0 auto; overflow:hidden; }
.lg_10cut img { position:absolute; left:0; top:-82.65%; width:100.15%; height:264.29%; max-width:none; object-fit:cover; }

/* ============================================================
   #1 s_benefit — SEPTEMBER SPECIAL 혜택 그리드 (01~07)
============================================================ */
.s_benefit { background:#fff; padding:90px 46px 110px; }
.s_benefit__tit {
    margin:0 0 80px;
    font-family:var(--font-wando); font-weight:700;
    font-size:50px; letter-spacing:-3px; line-height:1.25;
    color:var(--brown); text-align:center;
}
.s_benefit__tit span { color:var(--caramel); }

.s_benefit__grid {
    list-style:none; margin:0 auto; padding:0;
    max-width:608px;
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 22px;
}
.s_benefit__card {
    position:relative;
    background:var(--ivory); border-radius:20px; overflow:hidden;
    min-height:356px;
}
.s_benefit__num {
    position:absolute; left:13px; top:8px; z-index:2;
    font-family:var(--font-audrey); font-weight:500;
    font-size:30px; letter-spacing:-2.4px; color:#000;
}
/* 06 라라멤버십 — 어두운 사진이라 번호를 화이트로 */
.s_benefit__card:nth-child(6) .s_benefit__num { color:#fff; }
.s_benefit__img { height:214px; overflow:hidden; border-radius:20px 20px 0 0; }
.s_benefit__img img { width:100%; height:100%; object-fit:cover; object-position:center 22%; display:block; }
/* 카드별 크롭 위치 미세 조정 (세로 원본 → 가로 프레임) */
.s_benefit__card:nth-child(1) .s_benefit__img img { object-position:center 55%; }  /* 노올 커플 얼굴 — 위로 */
.s_benefit__card:nth-child(2) .s_benefit__img img { object-position:center 40%; }  /* 엔조 드레스 라인업 */
.s_benefit__card:nth-child(3) .s_benefit__img img { object-position:center 25%; }  /* 뷰티 얼굴 */
.s_benefit__card:nth-child(4) .s_benefit__img img { object-position:center 30%; }  /* 리허설 커플 */
.s_benefit__card:nth-child(5) .s_benefit__img img { object-position:center 28%; }  /* 웨딩열컷 커플 */
.s_benefit__card:nth-child(6) .s_benefit__img img { object-position:center center; } /* 멤버십 주얼리 (가로 원본) */
.s_benefit__card:nth-child(7) .s_benefit__img img { object-position:center center; } /* 기프트 (정방형) */
.s_benefit__body { padding:22px 24px 24px; text-align:left; }
.s_benefit__eng {
    margin:0 0 8px;
    font-family:var(--font-audrey); font-weight:500;
    font-size:26px; letter-spacing:-2.08px;
    color:var(--brown);
}
.s_benefit__txt {
    margin:0;
    font-family:var(--font-suit); font-weight:600;
    font-size:22px; letter-spacing:-1.76px; line-height:1.35;
    color:#000;
}
.s_benefit__txt .ac { color:var(--caramel); }

/* ============================================================
   #2 s_allinone — POWER 01 ALL IN ONE WEDDING (다크)
============================================================ */
.s_allinone { padding:90px 40px 100px; }
.s_allinone .ov { margin-bottom:22px; }
.s_allinone .dark_sub { margin-bottom:70px; }

.s_allinone__grid {
    list-style:none; margin:0 auto 60px; padding:0;
    max-width:530px;
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px 42px;
}
.s_allinone__grid li { text-align:center; }
.s_allinone__circle {
    display:flex; align-items:center; justify-content:center;
    width:148px; height:148px; margin:0 auto 16px;
    background:var(--ivory); border-radius:50%;
    font-family:var(--font-audrey); font-weight:500;
    font-size:24px; letter-spacing:-1.92px; line-height:1.15;
    color:var(--brown); text-align:center;
    padding-left:1.92px;       /* 음수 자간으로 인한 좌측 치우침 보정 */
    padding-top:3px;           /* 대문자 세리프 시각 중앙 보정 (살짝 아래로) */
    box-sizing:border-box;
}
.s_allinone__grid li p {
    margin:0;
    font-family:var(--font-suit); font-weight:600;
    font-size:24px; letter-spacing:-2.08px; line-height:1.3;
    color:var(--ivory);
    word-break:keep-all;       /* 단어 단위 줄바꿈 — "청첩장" 안 깨지게 */
    white-space:nowrap;        /* 셀 폭보다 길어도 한 줄 유지 (가운데 정렬로 양쪽 살짝 확장) */
}
.s_allinone__bottom {
    margin:0;
    font-family:var(--font-suit); font-weight:600;
    font-size:26px; letter-spacing:-2.08px; line-height:1.45;
    color:var(--ivory); text-align:center;
}
.s_allinone__bottom span { color:var(--apricot); font-size:30px; }

/* ============================================================
   #3 s_network — POWER 02 LARA WEDDING NETWORK (마퀴 5줄)
============================================================ */
.s_network { background:#fff; padding:100px 0 110px; text-align:center; }
.s_network__tit {
    margin:0 0 60px;
    font-family:var(--font-wando); font-weight:700;
    font-size:50px; letter-spacing:-3px; line-height:1.25;
    color:var(--brown);
}
.s_network__sub {
    margin:-30px 0 40px;
    font-family:var(--font-wando); font-weight:400;
    font-size:35px; letter-spacing:-3.85px;
    color:var(--caramel);
}
.s_network__sub b { font-weight:700; }
.s_network__desc {
    margin:0 20px 90px;
    font-family:var(--font-suit); font-weight:400;
    font-size:28px; letter-spacing:-2.24px; line-height:1.45;
    color:#000;
}
.s_network__desc b { font-weight:700; }

.s_network__row { margin:0 0 90px; }
.s_network__row:last-child { margin-bottom:0; }
.s_network__pill {
    display:inline-flex; align-items:center; justify-content:center;
    min-width:170px; height:49px; padding:4px 28px 0 32px; margin:0 auto 40px;  /* top 4px: Audrey 베이스라인 보정 */
    background:var(--brown); border-radius:27px;
    font-family:var(--font-audrey); font-style:italic; font-weight:500;
    font-size:25px; letter-spacing:-2px; color:#fff;
    text-indent:2px;                 /* 음수 자간 + 이탤릭 기울기 시각 보정 */
    white-space:nowrap; max-width:calc(100% - 32px); box-sizing:border-box;
}
.s_network__pill--wide { min-width:280px; }
.s_network__logos {
    display:flex; align-items:center; justify-content:center; gap:48px;
    margin:0 auto 46px; padding:0 20px; min-height:98px;
}
.s_network__logos > img { width:auto; max-width:195px; max-height:70px; object-fit:contain; }
.s_network__partners {
    margin:0;
    font-family:var(--font-suit); font-weight:700;
    font-size:28px; letter-spacing:-2.24px;
    color:#000;
}

/* ============================================================
   #4 s_membership — POWER 03 LARA MEMBERSHIP (다크)
============================================================ */
.s_membership { padding:80px 40px 90px; }
.s_membership .dark_sub { margin-bottom:44px; }
.s_membership__desc {
    margin:0 0 60px;
    font-family:var(--font-suit); font-weight:400;
    font-size:28px; letter-spacing:-2.24px; line-height:1.45;
    color:#fff; text-align:center;
}
.s_membership__desc b { font-weight:700; }

.s_membership__phonewrap { position:relative; margin:0 auto 90px; max-width:620px; }
.s_membership__deco {
    position:absolute; left:50%; top:190px; transform:translateX(-50%);
    width:100%; max-width:623px; height:auto; pointer-events:none; z-index:0;
}
.s_membership__phone {
    position:relative; z-index:1;
    width:291px; height:486px; margin:0 auto;
    background:#0e0e0e; border-radius:21px;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.s_membership__phone img { width:263px; height:452px; object-fit:cover; border-radius:12px; }

.s_membership__cats {
    display:flex; justify-content:center; align-items:flex-start; gap:34px;
    margin:0 auto 76px; text-align:left; flex-wrap:wrap;
}
.s_membership__cat .en {
    margin:0 0 8px;
    font-family:var(--font-audrey); font-style:italic; font-weight:500;
    font-size:18px; letter-spacing:-1.44px;
    color:var(--sand);
}
.s_membership__cat .ko {
    margin:0;
    font-family:var(--font-suit); font-weight:700;
    font-size:17px; letter-spacing:-1.36px; line-height:1.4;
    color:#fff;
}

/* ============================================================
   #5 s_knoll — LARA SPECIAL 01 노올스튜디오 GRAND OPEN
============================================================ */
.s_knoll { background:#fff; padding:100px 46px 110px; text-align:center; }
.s_knoll__tit {
    margin:0 0 28px;
    font-family:var(--font-wando); font-weight:700;
    font-size:35px; letter-spacing:-2.1px;
    color:var(--brown);
}
.s_knoll__photo { width:317px; max-width:100%;margin:0 auto 46px; }
.s_knoll__photo img { width:100%; height:100%; object-fit:cover; display:block; }
.s_knoll__grand {
    margin:0 0 22px;
    font-family:var(--font-wando); font-weight:700;
    font-size:55px; letter-spacing:-3.3px;
    color:var(--caramel);
}
.s_knoll__open {
    margin:0 0 56px;
    font-family:var(--font-wando); font-weight:400;
    font-size:30px; letter-spacing:-3.3px;
    color:var(--brown);
}
.s_knoll__open b { font-weight:700; }
.s_knoll .bcards { margin-bottom:66px; padding:0; }
.s_knoll .bcard__txt { font-size:25px; }

/* ============================================================
   #6 s_tencut — LARA SPECIAL 02 웨딩열컷 (다크)
============================================================ */
.s_tencut { padding:50px 40px 70px; }
.s_tencut .ov { margin-bottom:12px; }
.lg_10cut--big { margin-bottom:0; position:relative; z-index:2; }  /* 로고가 사진 위에 겹침 */
.s_tencut__photo { width:317px; max-width:100%; height:451px; margin:-48px auto 46px; overflow:hidden; position:relative; z-index:1; }
.s_tencut__photo img { width:100%; height:100%; object-fit:cover; display:block; }

.s_tencut__intro {
    display:flex; justify-content:center; align-items:flex-start; gap:34px;
    margin:0 auto 42px; max-width:620px;
}
.s_tencut__lead {
    margin:0; flex:0 0 auto;
    font-family:var(--font-wando); font-weight:700;
    font-size:30px; letter-spacing:-3.3px; line-height:1.3;
    color:var(--apricot); text-align:right;
}
.s_tencut__leadtxt { text-align:left; }
.s_tencut__leadtxt p {
    margin:0 0 18px;
    font-family:var(--font-suit); font-weight:400;
    font-size:24px; letter-spacing:-2.64px; line-height:1.4;
    color:#fff;
}
.s_tencut__leadtxt p b { font-weight:700; }
.s_tencut__leadtxt p.sm { margin:0; font-size:20px; letter-spacing:-2.2px; }

.s_tencut__process {
    display:flex; align-items:center; justify-content:center; gap:18px;
    width:fit-content; margin:0 auto 58px; padding:10px 28px;
    border:1px solid var(--apricot);
    font-family:var(--font-suit); font-weight:600;
    font-size:24px; letter-spacing:-2.64px;
    color:var(--apricot);
}
.s_tencut__process img { width:14px; height:15px; flex:0 0 auto; object-fit:contain; }

.s_tencut__special { position:relative; max-width:420px; margin:0 auto 66px; padding-top:25px; }
.s_tencut__special_pill {
    position:absolute; top:0; left:50%; transform:translateX(-50%);
    display:inline-flex; align-items:center; justify-content:center;
    min-width:348px; height:49px; padding:4px 26px 0;  /* top 4px: Audrey 베이스라인 보정 */
    background:var(--caramel); border-radius:27px;
    font-family:var(--font-audrey); font-style:italic; font-weight:500;
    font-size:24px; letter-spacing:-1.92px; color:#fff;
    white-space:nowrap; max-width:100%; box-sizing:border-box; z-index:2;
}
.s_tencut__special_box {
    background:var(--ivory); min-height:207px;
    padding:44px 20px 26px; box-sizing:border-box;
    text-align:center;
}
.s_tencut__special_box .big {
    margin:0 0 16px;
    font-family:var(--font-suit); font-weight:700;
    font-size:25px; letter-spacing:-2px; line-height:1.35;
    color:var(--caramel);
}
.s_tencut__special_box .sm {
    margin:0;
    font-family:var(--font-suit); font-weight:400;
    font-size:20px; letter-spacing:-1.6px; line-height:1.4;
    color:var(--brown);
}
.s_tencut__special_box .sm b { font-weight:700; }
.s_tencut__note {
    margin:36px 0 0;
    font-family:var(--font-suit); font-weight:400;
    font-size:16px; letter-spacing:-1.28px;
    color:#fff; text-align:center;
}

/* ============================================================
   #7 s_raffine — LARA SPECIAL 03 RAFFINE BRIDAL + 드레스 마퀴
============================================================ */
.s_raffine { background:#fff; padding:100px 0 0; text-align:center; }
.s_raffine .ov { margin-bottom:14px; }
.s_raffine__logo { width:154px; margin:0 auto; position:relative; z-index:2; }  /* 로고가 사진 위에 겹침 */
.s_raffine__logo img { display:block; width:100%; height:auto; object-fit:contain; }
.s_raffine__photo { width:317px; max-width:100%; height:450px; margin:-26px auto 42px; overflow:hidden; position:relative; z-index:1; }
.s_raffine__photo img { width:100%; height:100%; object-fit:cover; display:block; }
.s_raffine__tit {
    margin:0 0 18px;
    font-family:var(--font-wando); font-weight:700;
    font-size:40px; letter-spacing:-2.4px;
    color:var(--brown);
}
.s_raffine__sub {
    margin:0 0 56px;
    font-family:var(--font-wando); font-weight:700;
    font-size:30px; letter-spacing:-3.3px;
    color:var(--brown);
}
.s_raffine .bcards { margin-bottom:66px; }
.s_raffine__note {
    margin:34px 0 0;
    font-family:var(--font-suit); font-weight:400;
    font-size:16px; letter-spacing:-1.28px;
    color:var(--brown);
}
.s_raffine__brands { display:block; width:569px; max-width:82%; height:auto; margin:0 auto 40px; }
.s_raffine .sec_band { padding-bottom:70px; }

/* ============================================================
   #8 s_beauty — LARA SPECIAL 04 꼼나나 뷰티 클래스 (다크)
============================================================ */
.s_beauty { padding:50px 40px 70px; }
.s_beauty .ov { margin-bottom:20px; }
.s_beauty__logo { display:block; width:264px; height:auto; margin:0 auto 30px; }
.s_beauty__photo { width:317px; max-width:100%; height:450px; margin:0 auto 46px; overflow:hidden; }
.s_beauty__photo img { width:100%; height:100%; object-fit:cover; display:block; }
.s_beauty__tit {
    margin:0 0 22px;
    font-family:var(--font-wando); font-weight:700;
    font-size:30px; letter-spacing:-3.3px; line-height:1.35;
    color:var(--apricot); text-align:center;
}
.s_beauty__date {
    margin:0 0 46px;
    font-family:var(--font-suit); font-weight:700;
    font-size:24px; letter-spacing:.96px;
    color:#fff; text-align:center;
}
.s_beauty .bcards { margin-bottom:66px; padding:0; }

/* ============================================================
   #9 s_studio — LARA SPECIAL 05 WEDDING STUDIO + 마퀴
============================================================ */
.s_studio { background:#fff; padding:100px 0 0; text-align:center; }
.s_studio__tit {
    margin:0;
    font-family:var(--font-wando); font-weight:700;
    font-size:40px; letter-spacing:-2.4px;
    color:var(--brown);
    position:relative; z-index:2;      /* 타이틀이 사진 위에 겹침 */
}
.s_studio__photo { width:317px; max-width:100%; height:450px; margin:-20px auto 46px; overflow:hidden; position:relative; z-index:1; }
.s_studio__photo img { width:100%; height:100%; object-fit:cover; display:block; }
.s_studio__sub {
    margin:0 0 56px;
    font-family:var(--font-wando); font-weight:700;
    font-size:30px; letter-spacing:-3.3px;
    color:var(--brown);
}
.s_studio .bcards { margin-bottom:60px; }
.s_studio__logos {
    display:flex; align-items:center; justify-content:center; gap:46px;
    margin:0 auto 56px; padding:0 20px;
}
.s_studio .sec_band { padding-bottom:70px; }

/* ============================================================
   #10 s_gift — SPECIAL GIFT 투썸 기프티콘 (다크)
============================================================ */
.s_gift { padding:74px 40px 90px; }
.s_gift__tit {
    margin:0 0 8px;
    font-family:var(--font-wando); font-weight:700;
    font-size:40px; letter-spacing:-4.4px;
    color:var(--ivory); text-align:center;
}
.s_gift__eng {
    margin:0 0 12px;
    font-family:var(--font-audrey); font-style:italic; font-weight:500;
    font-size:70px; letter-spacing:-5.6px;
    color:var(--apricot); text-align:center;
}
.s_gift__sub {
    margin:0 0 46px;
    font-family:var(--font-suit); font-weight:700;
    font-size:30px; letter-spacing:-2.4px;
    color:var(--ivory); text-align:center;
}
.s_gift__coupon {
    position:relative;
    width:400px; max-width:88%; height:165px; margin:0 auto;
    background:var(--apricot); border-radius:21px;
    display:flex; align-items:center; justify-content:flex-end;
    padding-right:56px; box-sizing:border-box;
}
.s_gift__cup {
    position:absolute; left:-24px; top:50%;
    width:178px; height:178px; transform:translateY(-50%) rotate(.9deg);
    object-fit:contain;
}
.s_gift__coupon_txt {
    margin:0;
    font-family:var(--font-audrey); font-style:italic; font-weight:500;
    font-size:45px; letter-spacing:-3.6px; line-height:1.19;
    color:var(--brown); text-align:left;
}

/* ============================================================
   #11 s_partner — LARA PARTNER BENEFIT 2×2 카드
============================================================ */
.s_partner { background:#fff; padding:100px 46px 110px; }
.s_partner .ov { font-size:30px; letter-spacing:-2.4px; margin-bottom:64px; }

.s_partner__grid {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:60px 26px;
    max-width:608px; margin:0 auto;
}
.s_partner__cell { text-align:center; }
.s_partner__pill {
    display:inline-flex; align-items:center; justify-content:center;
    min-width:150px; height:40px; padding:10px 20px 0; margin:0 auto 42px;
    border-radius:20px;
    font-family:var(--font-audrey); font-style:italic; font-weight:500;
    font-size:27px; letter-spacing:-1.62px; color:#fff;
    text-indent:1.6px;               /* 음수 자간 + 이탤릭 시각 중앙 보정 */
    white-space:nowrap; max-width:100%; box-sizing:border-box;
}
.s_partner__pill--wide { min-width:220px; }
.s_partner__pill.p1 { background:var(--brown); }
.s_partner__pill.p2 { background:var(--caramel); }
/* 이미지 버전 pill (피그마 export — Audrey 원본 렌더링) */
.s_partner__pill_img { display:block; margin:0 auto 42px; height:41px; width:auto; }

.pcard { text-align:left; }
.pcard__top { position:relative; background:#f5f5f5; min-height:308px; padding:20px 18px 16px; box-sizing:border-box; }
.pcard__name b {
    display:block;
    font-family:var(--font-suit); font-weight:800;
    font-size:24px; letter-spacing:-1.44px; line-height:1.25;
    color:#363636;
}
.pcard__name span {
    display:block;
    font-family:var(--font-suit); font-weight:300;
    font-size:21px; letter-spacing:-1.44px; line-height:1.25;
    color:#363636;
}
.pcard__badge {
    position:absolute; right:14px; top:55px;      /* 사진 상단 경계에 걸쳐 겹침 (Figma: 43px 오버랩) */
    width:86px; height:87px; border-radius:50%;
    background:#fff; overflow:hidden;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 4px 10px rgba(0,0,0,.12);
    z-index:2;
}
.pcard__badge img { width:100%; height:100%; object-fit:cover; }
.pcard__photo {
    position:relative; z-index:1;
    height:119px; margin:16px -18px 14px; overflow:hidden;
    display:flex; align-items:center; justify-content:center;
    background:#fff;
}
.pcard__photo--dark { background:#2a2e26; }
.pcard__photo--sage { background:#e7ece6; }
.pcard__photo img { width:100%; height:100%; object-fit:cover; }
.pcard__desc {
    margin:0;
    font-family:var(--font-suit); font-weight:500;
    font-size:14.5px; letter-spacing:-.87px; line-height:1.3;
    color:#363636; text-align:center;
}
.pcard__desc b { font-weight:800; }
.pcard__bot { min-height:299px; padding:22px 14px 24px; box-sizing:border-box; text-align:center; }
.pcard__bot.p1 { background:var(--brown); }
.pcard__bot.p2 { background:var(--caramel); }
.pcard__label {
    margin:0 0 10px;
    font-family:var(--font-suit); font-weight:600;
    font-size:14.5px; letter-spacing:-.87px;
    color:#fffcc8;
}
.pcard__benefit {
    margin:0 0 20px;
    font-family:var(--font-suit); font-weight:500;
    font-size:18px; letter-spacing:-1.08px; line-height:1.3;
    color:#fff;
}
.pcard__benefit:last-child { margin-bottom:0; }
.pcard__benefit b { font-weight:700; }

/* ============================================================
   #12 s_ready — 결혼 준비, 어디까지 하고 계신가요? (다크)
============================================================ */
.s_ready { padding:88px 40px 96px; }
.s_ready__tit {
    margin:0 0 60px;
    font-family:var(--font-wando); font-weight:700;
    font-size:40px; letter-spacing:-4.4px; line-height:1.35;
    color:var(--ivory); text-align:center;
}
.s_ready__desc {
    margin:0 0 64px;
    font-family:var(--font-suit); font-weight:400;
    font-size:30px; letter-spacing:-3.3px; line-height:1.4;
    color:var(--ivory); text-align:center;
}
.s_ready__desc b { font-weight:700; }
.s_ready__eng {
    margin:0;
    font-family:var(--font-audrey); font-style:italic; font-weight:500;
    font-size:60px; letter-spacing:-4.8px; line-height:1.15;
    color:var(--apricot); text-align:center;
}

/* ============================================================
   #13 s_review — 후기 카드 4장
============================================================ */
.s_review { background:#fff; padding:96px 46px 110px; }
.s_review__tit {
    margin:0 0 64px;
    font-family:var(--font-wando); font-weight:700;
    font-size:40px; letter-spacing:-4.4px; line-height:1.35;
    color:var(--brown); text-align:center;
}
.s_review__tit span { color:var(--caramel); }

.s_review__list { display:flex; flex-direction:column; gap:20px; max-width:583px; margin:0 auto; }
.s_review__card {
    background:var(--ivory); border-radius:24px;
    padding:34px 24px 30px; text-align:center;
}
.s_review__quote {
    display:flex; align-items:center; justify-content:center;
    min-height:40px; margin:0 0 24px; padding:4px 20px;
    background:var(--caramel); border-radius:20px;
    font-family:var(--font-wando); font-weight:700;
    font-size:24px; letter-spacing:-1.44px; line-height:1.25;
    color:#fff;
}
.s_review__body {
    margin:0;
    font-family:var(--font-suit); font-weight:400;
    font-size:23px; letter-spacing:-1.84px; line-height:1.4;
    color:#40443d;
}

/* ============================================================
   하단 포스터
============================================================ */
.s_poster { background:#fff; }
.s_poster img { display:block; width:100%; height:auto; }

/* ============================================================
   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:var(--caramel);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:var(--caramel);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:repeat(2,minmax(0,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;}

/* =========================
   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,#fbcf95 0%,#c07e40 59.6%,#673b12 100%);transform-origin:left center;transform:scaleX(1);transition:transform .35s ease;}
.ftimer__left{flex:1;min-width:0;overflow:hidden;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:#fff6ef;color:#673b12;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);}
.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);}
@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;}

/* ===================================================
   사전 신청 폼 섹션 (pre_register) — 브라운 리컬러
=================================================== */
.pre_register {
  background: linear-gradient(160deg, #673b12 0%, #241203 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(251,207,149,.18) 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: #fbcf95;
  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: #fbcf95; 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: #c07e40;
  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: #673b12;
  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: #673b12;
  background: #fff6ef;
  color: #673b12;
  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: #673b12;
  background: #fff6ef;
  color: #673b12;
  font-weight: 700;
}

/* 관심 분야 (다중선택) */
.preg__label_sub {
  font-size: 12px;
  font-weight: 400;
  color: #999;
  margin-left: 4px;
}
.preg__interest_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.preg__check { cursor: pointer; }
.preg__check input[type="checkbox"] { display: none; }
.preg__check span {
  display: inline-block;
  padding: 10px 16px;
  border: 1px solid #ddd;
  border-radius: 999px;
  background: #fff;
  color: #555;
  font-size: 14px;
  letter-spacing: -.5px;
  transition: all .15s ease;
  user-select: none;
}
.preg__check input[type="checkbox"]:checked + span {
  border-color: #673b12;
  background: #673b12;
  color: #fff;
  font-weight: 700;
}
.preg__check--all span {
  border-style: dashed;
  border-color: #c07e40;
  color: #c07e40;
}
.preg__check--all input[type="checkbox"]:checked + span {
  border-style: solid;
  border-color: #c07e40;
  background: #c07e40;
  color: #fff;
}

/* 동의 영역 */
.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: #673b12;
  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,#fbcf95 0%,#c07e40 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: #673b12;
  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: #673b12;
  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); }
}

/* ===========================================
   푸터 (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;
}

/* ===== PC(태블릿 이상) 캔버스 폭 제한 ===== */
@media (min-width: 768px) {
    html, body { margin:0; padding:0; background:#f4efe9; }
    /* 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%; }
}

/* ============================================================
   반응형 — 700px 미만: 균일 줌 스케일
   (700px Figma 캔버스를 비율 그대로 축소 렌더링)
   zoom 수치는 JS(laraZoomFit)가 인라인으로 설정 — calc(100vw/700)는
   zoom 속성에서 파싱되지 않아 JS 방식 사용
============================================================ */
@media (max-width: 699.98px) {
    #wedding_fair2026 {
        width: 700px;
        max-width: none;
    }
}
