/* ===============================
   main.css
================================ */


/* ===============================
   #main01
================================ */
#main01 {width:100%; overflow:hidden;}

#main01 .main01-wrap {position:relative; min-height:110vh;}

#main01 .main01-bg {position:absolute; inset:0; z-index:0;}

#main01 .main01-bg img {
  width:100%; height:100%;
  object-fit:cover; object-position:center top;
  animation:bgReveal 3.5s cubic-bezier(0.16,1,0.3,1) forwards, kenburns 16s ease-in-out 3.5s infinite alternate;
  transform-origin:center center;
}

@keyframes bgReveal {
  from {transform:scale(1.1); filter:blur(14px); opacity:0.5;}
  to   {transform:scale(1);   filter:blur(0);    opacity:1;}
}

@keyframes kenburns {
  from {transform:scale(1);}
  to   {transform:scale(1.08);}
}


#main01 .main01-cols {
  position:relative; z-index:1;
  display:grid; grid-template-columns:1fr 1fr 1fr;
  min-height:110vh;
}

#main01 .main01-col {display:flex; flex-direction:column; align-items:center;}

#main01 .col-inner {width:100%; padding:220px 48px 340px; text-align:center;}

#main01 .title {margin-bottom:32px;}

#main01 .title img {width:auto; max-width:90%; height:auto; margin:0 auto;}

#main01 .ctn-title {font-size:26px; font-weight:600; line-height:1.3; margin-bottom:24px; word-break:keep-all; opacity:0.92;}

#main01 .ctn-title strong {display:block; font-weight:700; font-size:26px; line-height:1.3; margin-top:6px;}

#main01 .ctn-list {display:inline-block; text-align:left;}

#main01 .ctn-list li {font-size:15px; font-weight:400; line-height:1.45; padding-left:14px; position:relative; margin-bottom:10px; opacity:0.7;}

#main01 .ctn-list li:last-child {margin-bottom:0;}

#main01 .ctn-list li::before {content:'·'; position:absolute; left:0; top:0;}

/* col01 */
#main01 .col01 {background:transparent; overflow:hidden; position:relative;}

#main01 .col01 .col-bg-anim {position:absolute; inset:0; background:rgba(207,179,155,0.3); z-index:0;}

#main01 .col01 .col-inner {position:relative; z-index:1; color:#fff;}

#main01 .col01 .ctn-title,
#main01 .col01 .ctn-title strong {color:#fff;}

#main01 .col01 .ctn-list li {color:rgba(255,255,255,0.92);}

#main01 .col01 .ctn-list li::before {color:#fff;}

/* col02 */
#main01 .col02 {background:transparent;}

#main01 .col02 .col-inner {display:flex; align-items:center; justify-content:center; padding-top:160px; padding-bottom:240px;}

#main01 .col02 .logo-wrap img {width:100%; max-width:100%; height:auto; margin:0 auto; filter:drop-shadow(0 4px 32px rgba(0,0,0,0.55));}

/* col03 */
#main01 .col03 {background:transparent; overflow:hidden; position:relative;}

#main01 .col03 .col-bg-anim {position:absolute; inset:0; background:rgba(255,36,36,0.3); z-index:0;}

#main01 .col03 .col-inner {position:relative; z-index:1; color:#fff;}

#main01 .col03 .ctn-title,
#main01 .col03 .ctn-title strong {color:#fff;}

#main01 .col03 .ctn-list li {color:rgba(255,255,255,0.92);}

#main01 .col03 .ctn-list li::before {color:#fff;}

/* 음식 이미지 */
#main01 .main01-food {
  position:absolute; bottom:-24%; left:50%;
  transform:translateX(-50%);
  width:140%; z-index:2;
  display:flex; align-items:flex-end; justify-content:center;
  pointer-events:none;
}

#main01 .food-item {line-height:0; position:relative; flex-shrink:0;}

#main01 .food-item img {height:auto; display:block;}

#main01 .food-left {z-index:1; width:500px; transform:translateX(32%) translateY(8%); transform-origin:bottom right;}

#main01 .food-left img {width:500px;}

#main01 .food-center {z-index:3; width:42%; transform:translateY(-6%); transform-origin:bottom center;}

#main01 .food-center img {width:100%;}

#main01 .food-right {z-index:1; width:500px; transform:translateX(-32%) translateY(8%); transform-origin:bottom left;}

#main01 .food-right img {width:500px;}


/* ===============================
   #main02
================================ */
#main02 {position:relative; width:100%; overflow:hidden;}

#main02 .main02-bg {position:absolute; inset:0; z-index:0;}

#main02 .main02-bg img {width:100%; height:100%; object-fit:cover; object-position:center;}

#main02 .main02-wrap {
  position:relative; z-index:1;
  display:flex;
  min-height:100vh;
  align-items:center;
  justify-content:center;
  gap:80px;
  padding:80px 120px;
}

#main02 .main02-left {display:flex; align-items:center; flex:0 0 auto;}

#main02 .main02-title img {width:auto; max-width:100%; height:auto; filter:drop-shadow(0 2px 24px rgba(0,0,0,0.5));}

#main02 .main02-right {display:flex; flex-direction:column; justify-content:center; gap:40px; flex:0 0 auto; width:600px;}

#main02 .tab-nav {display:grid; grid-template-columns:repeat(5,1fr); gap:0;}

#main02 .tab-btn {
  background:rgba(0,0,0,0.3);
  border:1px solid rgba(255,255,255,0.25);
  cursor:pointer; padding:40px 20px;
  opacity:0.5;
  transition:opacity 0.3s, background 0.3s, border-color 0.3s;
  text-align:center; line-height:0;
}

#main02 .tab-btn img {width:auto; height:auto; display:block; margin:0 auto;}

#main02 .tab-btn.is-on {opacity:1; background:#a3876f; border-color:#a3876f;}

#main02 .tab-contents {min-height:280px;}

#main02 .tab-panel {display:none;}

#main02 .tab-panel.is-active {display:block;}

#main02 .tab-panel__inner {display:flex; flex-direction:column; gap:20px;}

#main02 .tab-panel__inner p {font-size:18px; font-weight:400; color:rgba(255,255,255,0.75); line-height:1.9; word-break:keep-all;}

#main02 .tab-panel__inner .emph {font-size:26px; font-weight:700; color:#fff; line-height:1.5; margin-top:8px;}


/* ===============================
   #main03
================================ */
#main03 {position:relative; width:100%; overflow:hidden;}

#main03 .main03-bg {position:absolute; inset:0; z-index:0;}

#main03 .main03-bg .bg-day,
#main03 .main03-bg .bg-night {position:absolute; inset:0; transition:opacity 0.8s ease;}

#main03 .main03-bg img {width:100%; height:100%; object-fit:cover; object-position:center;}

#main03 .main03-bg .bg-day  {opacity:1;}
#main03 .main03-bg .bg-night {opacity:0;}

#main03.is-night .bg-day   {opacity:0;}
#main03.is-night .bg-night {opacity:1;}

#main03 .main03-wrap {
  position:relative; z-index:1;
  max-width:1400px; margin:0 auto;
  padding:80px 80px 100px;
  display:flex; flex-direction:column; align-items:center; gap:48px;
}

/* 토글 */
#main03 .main03-toggle {
  position:relative; background:#4a90c4;
  border-radius:50px; width:120px; height:56px;
  cursor:pointer; flex-shrink:0;
}

#main03 .main03-toggle::before {
  content:''; position:absolute;
  top:6px; left:6px; width:44px; height:44px;
  background:#fff; border-radius:50%;
  transition:transform 0.35s cubic-bezier(0.34,1.56,0.64,1);
  box-shadow:0 2px 8px rgba(0,0,0,0.2); z-index:0;
}

#main03.is-night .main03-toggle::before {transform:translateX(64px);}

#main03 .toggle-btn {
  position:absolute; top:50%; transform:translateY(-50%);
  background:none; border:none; cursor:pointer;
  width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  z-index:1; padding:0;
}

#main03 .toggle-btn[data-mode="day"]   {left:6px;}
#main03 .toggle-btn[data-mode="night"] {right:6px;}

#main03 .toggle-btn img {width:28px; height:28px; display:block; object-fit:contain;}

/* 콘텐츠 전환 */
#main03 .main03-ctn {width:100%; display:none; flex-direction:column; align-items:center; gap:48px; animation:ctnFadeIn 0.6s ease forwards;}

#main03 .main03-ctn.is-active {display:flex;}

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

#main03 .main03-title {text-align:center;}

#main03 .main03-title img {width:auto; max-width:100%; height:auto; filter:drop-shadow(0 2px 16px rgba(0,0,0,0.4));}

/* 카드 */
#main03 .main03-list {display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; width:100%; align-items:start;}

#main03 .main03-card {overflow:hidden;}

#main03 .main03-card__img {overflow:hidden;}

#main03 .main03-card__img img {width:100%; height:auto; display:block; transition:transform 0.5s ease;}

#main03 .main03-card:hover .main03-card__img img {transform:scale(1.04);}

#main03 .main03-card--center {margin-top:40px;}

/* 하단 문구 */
#main03 .main03-desc {font-size:20px; font-weight:400; color:#1a1208; line-height:1.9; text-align:center; word-break:keep-all; transition:color 0.5s;}

#main03 .main03-desc strong {font-weight:700; color:#1a1208; transition:color 0.5s;}

#main03.is-night .main03-desc,
#main03.is-night .main03-desc strong {color:#fff;}


/* ===============================
   #main04
================================ */
#main04 {position:relative; width:100%; overflow:hidden;}

#main04 .main04-bg {position:absolute; inset:0; z-index:0;}

#main04 .main04-bg img {width:100%; height:100%; object-fit:cover; object-position:center;}

#main04 .main04-wrap {
  position:relative; z-index:1;
  max-width:1800px; margin:0 auto;
  padding:120px 80px 140px;
  display:flex; flex-direction:column; align-items:center; gap:56px;
}

#main04 .main04-title {text-align:center;}

#main04 .main04-sub {font-size:15px; font-weight:400; color:rgba(255,255,255,0.7); margin-bottom:16px; letter-spacing:0.02em;}

#main04 .main04-title img {width:auto; max-width:100%; height:auto;}

/* 3열 슬라이더 */
#main04 .main04-sliders {display:grid; grid-template-columns:1fr 1fr 1fr; gap:56px; width:100%; align-items:start;}

#main04 .menu-slider {display:flex; flex-direction:column; align-items:center; gap:24px; position:relative;}

#main04 .menu-slider--center {margin-top:-32px;}

#main04 .menu-slider__label {position:relative; z-index:2; margin-bottom:-128px;}

#main04 .menu-slider__label img {width:auto; max-width:200px; height:auto; filter:drop-shadow(0 2px 8px rgba(0,0,0,0.4));}

#main04 .menu-slider__main {width:100%; position:relative; z-index:1; border-radius:50%; overflow:hidden;}

#main04 .slider-track {position:relative; border-radius:50%; overflow:hidden; aspect-ratio:1/1; border:3px solid #c9a96e;}

#main04 .slide-item {position:absolute; inset:0; opacity:0; transition:opacity 0.4s ease;}

#main04 .slide-item.is-active {opacity:1; position:relative;}

#main04 .slide-item img {width:100%; height:100%; object-fit:cover; display:block;}

/* 오버레이 - slider-track 안에 위치, overflow:hidden으로 원형 자동 마스킹 */
#main04 .slide-overlay {
  position:absolute;
  bottom:0; left:0; right:0;
  padding:24px 22% 32px;
  background:linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.3) 60%, transparent 100%);
  text-align:center;
  pointer-events:none;
  z-index:2;
}

#main04 .overlay-name {display:block; font-size:16px; font-weight:700; color:#fff; margin-bottom:4px; line-height:1.3;}

#main04 .overlay-desc {font-size:12px; font-weight:400; color:rgba(255,255,255,0.75); line-height:1.5; word-break:keep-all;}

/* 썸네일 */
#main04 .menu-slider__thumbs {display:flex; gap:10px; flex-wrap:wrap; justify-content:center;}

#main04 .thumb-btn {
  display:flex; flex-direction:column; align-items:center; gap:6px;
  width:64px; border:none; overflow:visible;
  cursor:pointer; padding:0; background:none; opacity:0.5;
  transition:opacity 0.25s; flex-shrink:0;
}

#main04 .thumb-btn img {
  width:64px; height:64px; object-fit:cover; display:block;
  border-radius:50%; border:2px solid rgba(201,169,110,0.4);
  transition:border-color 0.25s;
}

#main04 .thumb-name {font-size:11px; font-weight:500; color:rgba(255,255,255,0.7); white-space:nowrap; line-height:1;}

#main04 .thumb-btn.is-on {opacity:1;}
#main04 .thumb-btn.is-on img {border-color:#c9a96e;}
#main04 .thumb-btn.is-on .thumb-name {color:#c9a96e; font-weight:700;}


/* ===============================
   #main05
================================ */
#main05 {width:100%; overflow:hidden;}

#main05 .main05-wrap {display:grid; grid-template-columns:1fr 1fr; min-height:100vh;}

/* 왼쪽 */
#main05 .main05-left {position:relative; overflow:hidden;}

#main05 .main05-left__bg {position:absolute; inset:0; z-index:0;}

#main05 .main05-left__bg img {width:100%; height:100%; object-fit:cover; object-position:center;}

#main05 .main05-left__inner {
  position:relative; z-index:1;
  padding:60px 56px 72px;
  display:flex; flex-direction:column; align-items:center; gap:32px; height:100%;
}

#main05 .main05-logo img {width:auto; max-width:160px; height:auto;}

#main05 .main05-ceo {text-align:center; width:100%;}

#main05 .main05-ceo img {width:auto; max-width:420px; height:auto; margin:0 auto; filter:drop-shadow(0 4px 24px rgba(0,0,0,0.4));}

#main05 .main05-career {width:100%; max-width:520px;}

#main05 .main05-career h3 {font-size:22px; font-weight:700; color:#fff; margin-bottom:20px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,0.2);}

#main05 .main05-career dl {display:grid; grid-template-columns:auto 1fr; gap:10px 24px;}

#main05 .main05-career dt {font-size:13px; font-weight:700; color:#c9a96e; white-space:nowrap; padding-top:2px;}

#main05 .main05-career dd {font-size:13px; font-weight:400; color:rgba(255,255,255,0.7); line-height:1.6; word-break:keep-all;}

/* 오른쪽 */
#main05 .main05-right {position:relative; overflow:hidden;}

#main05 .main05-right__bg {position:absolute; inset:0; z-index:0;}

#main05 .main05-right__bg img {width:100%; height:100%; object-fit:cover; object-position:center;}

#main05 .main05-right__inner {position:relative; z-index:1; height:100%; display:flex; align-items:center; justify-content:center; padding:80px 64px;}

#main05 .main05-right__ctn {text-align:center;}

#main05 .main05-right__ctn img {width:auto; max-width:560px; height:auto; display:block; margin:0 auto;}


/* ===============================
   #main06
================================ */
#main06 {width:100%; overflow:hidden;}

#main06 .main06-wrap {display:grid; grid-template-columns:1fr 1fr; min-height:100vh;}

/* 왼쪽 */
#main06 .main06-left {position:relative; overflow:hidden;}

#main06 .main06-left__bg {position:absolute; inset:0;}

#main06 .main06-left__bg img {width:100%; height:100%; object-fit:cover; object-position:center;}

#main06 .main06-left__inner {position:relative; z-index:1; height:100%; display:flex; align-items:center; justify-content:center; padding:60px 48px;}

#main06 .main06-left__title img {width:auto; max-width:100%; height:auto; filter:drop-shadow(0 2px 16px rgba(0,0,0,0.4));}

/* 오른쪽 */
#main06 .main06-right {background:#2b2521; display:flex; flex-direction:column; justify-content:center; padding:64px 56px;}

#main06 .main06-item {display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; padding:32px 0; border-bottom:1px solid rgba(255,255,255,0.08);}

#main06 .main06-item:first-child {border-top:1px solid rgba(255,255,255,0.08);}

#main06 .main06-item__title {margin-bottom:14px;}

#main06 .main06-item__title img {width:auto; max-width:100%; height:auto;}

#main06 .main06-item__text p {font-size:14px; font-weight:400; color:rgba(255,255,255,0.6); line-height:1.85; word-break:keep-all;}

#main06 .main06-item__img {flex-shrink:0; width:180px;}

#main06 .main06-item__img img {width:180px; height:180px; object-fit:cover; border-radius:50%; display:block; border:2px solid rgba(201,169,110,0.35);}


/* ===============================
   #main07
================================ */
#main07 {width:100%; overflow:hidden; padding:5%; background:#fff;}

#main07 .main07-wrap {display:flex; flex-direction:column; align-items:center; gap:40px;}

#main07 .main07-title {text-align:center;}

#main07 .main07-title img {width:auto; max-width:100%; height:auto;}

#main07 .main07-images {display:flex; gap:0; align-items:flex-start;}

#main07 .main07-img {line-height:0; flex-shrink:0;}

#main07 .main07-img img {width:auto; max-width:100%; height:auto; display:block;}


/* ===============================
   #main08
================================ */
#main08 {width:100%; overflow:hidden;}

#main08 .main08-wrap {display:grid; grid-template-columns:1fr 1fr 1fr; min-height:100vh;}

#main08 .main08-col {
  position:relative; display:flex; flex-direction:column; overflow:hidden;
  opacity:0; transform:translateY(40px);
  transition:opacity 0.8s cubic-bezier(0.22,0.61,0.36,1), transform 0.8s cubic-bezier(0.22,0.61,0.36,1);
}

#main08 .main08-col.is-visible {opacity:1; transform:translateY(0);}

#main08 .col01 {transition-delay:0s;}
#main08 .col02 {transition-delay:0.15s;}
#main08 .col03 {transition-delay:0.30s;}

#main08 .main08-col__bg {position:absolute; inset:0; z-index:0;}

#main08 .main08-col__bg img {width:100%; height:100%; object-fit:cover; object-position:center;}

#main08 .main08-col__inner {
  position:relative; z-index:1;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:64px 40px; height:100%; text-align:center; gap:24px;
}

#main08 .main08-title img {width:auto; max-width:100%; height:auto; filter:drop-shadow(0 2px 16px rgba(0,0,0,0.5));}

#main08 .main08-icon img {width:auto; max-width:200px; height:auto;}

#main08 .main08-desc {font-size:15px; font-weight:400; color:rgba(255,255,255,0.85); line-height:1.85; word-break:keep-all;}

#main08 .main08-footnote {font-size:13px; font-weight:400; color:rgba(255,255,255,0.5); letter-spacing:0.02em;}

#main08 .col02 {background:#b71c1c;}

#main08 .col02 .main08-col__inner {justify-content:center; gap:32px;}

#main08 .main08-title--main img {max-width:100%; filter:drop-shadow(0 2px 24px rgba(0,0,0,0.3));}








/* ===============================
   #main09
================================ */
#main09 {position:relative; width:100%; overflow:hidden;}

#main09 .main09-bg {position:absolute; inset:0; z-index:0;}

#main09 .main09-bg img {width:100%; height:100%; object-fit:cover; object-position:center top;}

/* 상단 3열 */
#main09 .main09-top {
  position:relative; z-index:2;
  display:grid; grid-template-columns:1fr 1fr 1fr;
  padding:100px 80px 0; gap:40px; margin-bottom:-240px;
}

#main09 .main09-table {padding-left:10%;}

#main09 .main09-table img {width:auto; max-width:100%; height:auto; display:block;}

#main09 .main09-title {display:flex; flex-direction:column; gap:12px; justify-content:center;}

#main09 .main09-sub {font-size:15px; font-weight:400; color:rgba(20,10,10,0.7);}

#main09 .main09-sub strong {font-weight:700; color:#1a1208;}

#main09 .main09-title img {width:auto; max-width:100%; height:auto;}

#main09 .main09-empty {}

/* 하단 그래프 이미지 영역 */
#main09 .main09-graph {
  position:relative; z-index:2;
  margin-top:-60px;
}

/* 그래프 이미지 - 왼쪽→오른쪽 clip-path reveal (타이틀 후 0.6s 딜레이) */
#main09 .main09-graph__img {
  width:100%; line-height:0;
  clip-path:inset(0 100% 0 0);
  transition:clip-path 1.8s cubic-bezier(0.77,0,0.18,1) 0.6s;
}

#main09.is-visible .main09-graph__img {clip-path:inset(0 0% 0 0);}

#main09 .main09-graph__img img {width:100%; height:auto; display:block;}

/* 그래프 우측 하단 문구 */
#main09 .main09-bottom {
  position:absolute;
  right:80px; bottom:32px;
  text-align:right;
  z-index:10;
}

#main09 .main09-bottom p {font-size:20px; font-weight:400; color:#fff; margin-bottom:6px;}

#main09 .main09-bottom strong {font-size:32px; font-weight:700; color:#fff; display:block;}

/* ===============================
   #main10
================================ */
#main10 {position:relative; width:100%; overflow:hidden;}

#main10 .main10-bg {position:absolute; inset:0; z-index:0;}

#main10 .main10-bg img {width:100%; height:100%; object-fit:cover; object-position:center;}

#main10 .main10-wrap {
  position:relative; z-index:1;
  max-width:1800px; margin:0 auto;
  padding:100px 80px;
  color:#fff;
}

/* 타이틀 영역 */
#main10 .main10-title {text-align:center; display:flex; flex-direction:column; align-items:center; gap:16px; margin-bottom:24px;}

#main10 .main10-sub {font-size:18px; font-weight:400; color:rgba(255,255,255,0.7); letter-spacing:0.02em;}

#main10 .main10-title img {width:auto; max-width:100%; height:auto;}

#main10 .main10-desc {font-size:20px; font-weight:400; color:rgba(255,255,255,0.75); line-height:1.9; text-align:center; word-break:keep-all; margin-bottom:72px;}
#main10 .main10-desc strong {font-weight:700; color:#fff;}

/* 4열 리스트 */
#main10 .main10-list {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}

#main10 .main10-item {
  background:rgba(30,18,8,0.6);
  border:1px solid rgba(255,255,255,0.08);
  display:flex; flex-direction:column;
  overflow:hidden;
}

#main10 .main10-item__img {
  aspect-ratio:4/3; overflow:hidden; line-height:0;
}

#main10 .main10-item__img img {
  width:100%; height:100%; object-fit:cover;
  display:block; transition:transform 0.5s ease;
}

#main10 .main10-item:hover .main10-item__img img {transform:scale(1.04);}

#main10 .main10-item__info {padding:24px 24px 28px; display:flex; flex-direction:column; gap:10px; text-align:center;}

#main10 .main10-item__tag {font-size:15px; font-weight:500; color:#cfb39b; letter-spacing:0.05em;}

#main10 .main10-item__info h3 {font-size:26px; font-weight:700; color:#fff; line-height:1.3; word-break:keep-all;}
}

#main10 .main10-item__info p {font-size:16px; font-weight:400; color:#cfb39b; line-height:1.8; word-break:keep-all;}
}


/* ===============================
   #main11
================================ */
#main11 {width:100%; background:#fff;}

#main11 .main11-wrap {max-width:1800px; margin:0 auto; padding:120px 80px;}

/* 타이틀 */
#main11 .main11-title {text-align:center; margin-bottom:40px;}

#main11 .main11-title img {width:auto; max-width:100%; height:auto; margin:0 auto; display:block;}

#main11 .main11-sub {
  font-size:18px; font-weight:400;
  color:#5a4a3a; text-align:center;
  margin-top:16px; line-height:1.7;
}

#main11 .main11-sub strong {font-weight:700; color:#1a1208;}

/* 리뷰 그리드 */
#main11 .main11-grid {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
  margin-top:56px;
}

/* 리뷰 카드 */
#main11 .review-card {
  display:flex;
  flex-direction:column;
  gap:16px;
  background:#fff;
  border:1px solid #e8e0d4;
  border-top:3px solid #c9a96e;
  padding:32px 28px;
}

#main11 .review-card__stars {
  font-size:16px;
  color:#c9a96e;
  letter-spacing:2px;
}

#main11 .review-card p {
  font-size:15px;
  font-weight:400;
  color:#3d2e20;
  line-height:1.85;
  word-break:keep-all;
  flex:1;
}

#main11 .review-card__user {
  display:flex;
  align-items:center;
  gap:8px;
  padding-top:16px;
  border-top:1px solid #f0ebe4;
  margin-top:auto;
}

#main11 .user-icon {
  display:block;
  width:28px; height:28px;
  border-radius:50%;
  background:#d4c4b0;
  flex-shrink:0;
}

#main11 .review-card__user span:last-child {
  font-size:13px;
  font-weight:500;
  color:#7a6a5a;
}


/* ===============================
   #main12
================================ */
#main12 {position:relative; width:100%; overflow:hidden; min-height:100vh;}

#main12 .main12-bg {position:absolute; inset:0; z-index:0;}

#main12 .main12-bg img {width:100%; height:100%; object-fit:cover; object-position:center;}

#main12 .main12-wrap {
  position:relative; z-index:1;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:80px;
}

#main12 .main12-title {text-align:center;}

#main12 .main12-title img {
  width:auto;
  max-width:100%;
  height:auto;
  margin:0 auto;
  display:block;
}


/* ===============================
   #main13
================================ */
#main13 {position:relative; width:100%; overflow:hidden;}

#main13 .main13-bg {position:absolute; inset:0; z-index:0;}

#main13 .main13-bg img {width:100%; height:100%; object-fit:cover; object-position:center;}

#main13 .main13-wrap {
  position:relative; z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:60px;
  padding:80px 100px;
}

#main13 .main13-item {flex-shrink:0;}

#main13 .main13-item img {width:auto; max-width:100%; height:auto; display:block;}

#main13 .main13-title {flex-shrink:0; text-align:center;}

#main13 .main13-title img {width:auto; max-width:100%; height:auto; display:block; margin:0 auto;}


/* ===============================
   #main14
================================ */
#main14 {width:100%; background:#1a1208;}

#main14 .main14-wrap {
  display:grid;
  grid-template-columns:1fr 1.4fr;
  max-width:1200px;
  margin:0 auto;
  padding:140px 80px;
  gap:40px;
  align-items:start;
}

/* 타이틀 공통 */
#main14 .main14-title {margin-bottom:32px;}

#main14 .main14-title img {width:auto; max-width:100%; height:auto; display:block;}

/* 좌 : 비용표 */
#main14 .main14-table img {width:auto; max-width:100%; height:auto; display:block;}

/* 우 : 폼 */
#main14 .main14-form {display:flex; flex-direction:column; gap:20px;}

#main14 .form-row {display:grid; grid-template-columns:1fr 1fr; gap:16px;}

#main14 .form-group {display:flex; flex-direction:column; gap:10px;}

#main14 .form-group label {
  font-size:17px; font-weight:600;
  color:#cfb39b;
}

#main14 .form-group label em {color:#c8102e; font-style:normal;}

#main14 .form-group input {
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.15);
  padding:16px 18px;
  font-family:'Pretendard', sans-serif;
  font-size:16px;
  color:#fff;
  outline:none;
  transition:border-color 0.2s;
}

#main14 .form-group input::placeholder {color:rgba(255,255,255,0.3); font-size:15px;}

#main14 .form-group input:focus {border-color:#cfb39b;}

/* 동의 */
#main14 .form-agree {display:flex; align-items:center;}

#main14 .agree-label {
  display:flex; align-items:center; gap:10px;
  font-size:15px; color:rgba(255,255,255,0.6);
  cursor:pointer;
}

#main14 .agree-label input[type="checkbox"] {display:none;}

#main14 .agree-box {
  display:block; width:20px; height:20px;
  border:1px solid rgba(255,255,255,0.3);
  background:rgba(255,255,255,0.05);
  flex-shrink:0; position:relative;
  transition:background 0.2s, border-color 0.2s;
}

#main14 .agree-label input[type="checkbox"]:checked + .agree-box {
  background:#cfb39b; border-color:#cfb39b;
}

#main14 .agree-label input[type="checkbox"]:checked + .agree-box::after {
  content:''; position:absolute;
  top:3px; left:6px;
  width:6px; height:10px;
  border:2px solid #1a1208;
  border-top:none; border-left:none;
  transform:rotate(45deg);
}

#main14 .agree-link {color:#cfb39b; text-decoration:underline; margin-left:4px;}

/* 제출 버튼 */
#main14 .form-submit {
  width:100%; padding:22px;
  background:#cfb39b;
  border:none; cursor:pointer;
  font-family:'Pretendard', sans-serif;
  font-size:20px; font-weight:700;
  color:#1a1208;
  letter-spacing:0.05em;
  transition:background 0.25s;
  margin-top:8px;
}

#main14 .form-submit:hover {background:#c9a96e;}


/* ===============================
   #main15
================================ */
#main15 {width:100%; background:#cfb39b; padding:120px 0;}

#main15 .main15-wrap {max-width:960px; margin:0 auto; padding:0 40px;}

/* 타이틀 */
#main15 .main15-title {text-align:center; margin-bottom:64px;}

#main15 .main15-title img {width:auto; max-width:100%; height:auto; margin:0 auto; display:block;}

/* FAQ 리스트 */
#main15 .main15-faq {display:flex; flex-direction:column; gap:12px;}

/* 아이템 */
#main15 .faq-item {
  background:#fff;
  border-radius:4px;
  overflow:hidden;
}

/* 질문 버튼 */
#main15 .faq-q {
  width:100%;
  display:flex;
  align-items:center;
  gap:20px;
  padding:28px 32px;
  background:none;
  border:none;
  cursor:pointer;
  text-align:left;
  font-family:'Pretendard', sans-serif;
  font-size:20px;
  font-weight:700;
  color:#1a1208;
  transition:background 0.2s;
}

#main15 .faq-q:hover {background:rgba(207,179,155,0.1);}

#main15 .faq-q[aria-expanded="true"] {background:rgba(207,179,155,0.12);}

/* Q 배지 */
#main15 .faq-badge {
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px; height:36px;
  border-radius:50%;
  background:#c8102e;
  color:#fff;
  font-size:13px;
  font-weight:700;
  flex-shrink:0;
  font-family:'Pretendard', sans-serif;
}

#main15 .faq-badge--a {background:#1a1208;}

/* 아이콘 */
#main15 .faq-icon {
  margin-left:auto;
  width:24px; height:24px;
  position:relative; flex-shrink:0;
}

#main15 .faq-icon::before,
#main15 .faq-icon::after {
  content:'';
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  background:#5a4a3a;
  transition:transform 0.3s ease, opacity 0.3s ease;
}

#main15 .faq-icon::before {width:16px; height:2px;}
#main15 .faq-icon::after  {width:2px; height:16px;}

#main15 .faq-q[aria-expanded="true"] .faq-icon::after {
  transform:translate(-50%,-50%) rotate(90deg);
  opacity:0;
}

/* 답변 - 슬라이드 애니메이션 */
#main15 .faq-a {
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows 0.4s cubic-bezier(0.22,0.61,0.36,1);
}

#main15 .faq-a.is-open {grid-template-rows:1fr;}

#main15 .faq-a__inner {
  overflow:hidden;
  display:flex;
  align-items:flex-start;
  gap:20px;
  padding:0 32px;
  transition:padding 0.4s cubic-bezier(0.22,0.61,0.36,1);
}

#main15 .faq-a.is-open .faq-a__inner {padding:8px 32px 32px;}

#main15 .faq-a p {
  font-size:16px;
  font-weight:400;
  color:#5a4a3a;
  line-height:1.9;
  word-break:keep-all;
  padding-top:4px;
}


/* ===============================
   개인정보처리방침 팝업
================================ */
.popup-overlay {
  display:none;
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(0,0,0,0.6);
  align-items:center;
  justify-content:center;
}

.popup-overlay.is-open {display:flex;}

.popup-box {
  background:#fff;
  width:100%;
  max-width:560px;
  max-height:80vh;
  display:flex;
  flex-direction:column;
  border-radius:4px;
  overflow:hidden;
  animation:popupIn 0.3s cubic-bezier(0.34,1.3,0.64,1);
}

@keyframes popupIn {
  from {opacity:0; transform:scale(0.92) translateY(16px);}
  to   {opacity:1; transform:scale(1)    translateY(0);}
}

.popup-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:24px 28px;
  border-bottom:1px solid #e8e0d4;
  flex-shrink:0;
}

.popup-head h2 {
  font-size:18px;
  font-weight:700;
  color:#1a1208;
}

.popup-close {
  background:none;
  border:none;
  cursor:pointer;
  font-size:18px;
  color:#9a8a7a;
  padding:4px 8px;
  transition:color 0.2s;
  line-height:1;
}

.popup-close:hover {color:#1a1208;}

.popup-body {
  padding:28px;
  overflow-y:auto;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:20px;
}

.popup-body p {
  font-size:14px;
  font-weight:400;
  color:#5a4a3a;
  line-height:1.85;
  word-break:keep-all;
}

.popup-body strong {
  display:block;
  font-weight:700;
  color:#1a1208;
  margin-bottom:4px;
}

.popup-foot {
  padding:16px 28px 24px;
  border-top:1px solid #e8e0d4;
  flex-shrink:0;
}

.popup-confirm {
  width:100%;
  padding:14px;
  background:#cfb39b;
  border:none;
  cursor:pointer;
  font-family:'Pretendard', sans-serif;
  font-size:15px;
  font-weight:700;
  color:#1a1208;
  transition:background 0.25s;
}

.popup-confirm:hover {background:#c9a96e;}


#footer {background:#1a1208; width:100%;}

#footer .footer-inner {
  max-width:1800px; margin:0 auto;
  padding:56px 80px;
  display:flex; flex-direction:column; align-items:center; gap:32px;
}

#footer .footer-content {
  display:flex; align-items:center; gap:48px;
}

#footer .footer-logo {flex-shrink:0;}

#footer .footer-logo img {width:auto; max-width:140px; height:auto; opacity:0.8; filter:drop-shadow(0 2px 8px rgba(0,0,0,0.4));}

#footer .footer-divider {width:1px; height:100px; background:rgba(255,255,255,0.15); flex-shrink:0;}

#footer .footer-info {font-style:normal; display:flex; flex-direction:column; gap:8px;}

#footer .footer-info p {font-size:13px; font-weight:400; color:rgba(255,255,255,0.5); line-height:1.6; display:flex; gap:10px;}

#footer .footer-info span {color:rgba(207,179,155,0.8); font-weight:600; flex-shrink:0; min-width:72px;}

#footer .footer-info a {color:rgba(255,255,255,0.5); text-decoration:none;}

#footer .footer-copy {font-size:12px; color:rgba(255,255,255,0.2); padding-top:20px; border-top:1px solid rgba(255,255,255,0.08); width:100%; text-align:center;}