﻿@charset "utf-8";
/* doc.css — 서브페이지 컨텐츠 */
/* Static sub content */
.sub-content {
  background: var(--color-bg);
}

.sub-content__inner {
  width: 100%;
  max-width: var(--content-width);
  margin: 0 auto;
}

.sub-content__narrow {
  max-width: 720px;
}

.sub-content__split {
  display: grid;
  grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
  gap: var(--space-63);
  align-items: start;
}

.sub-content__media img {
  width: 100%;
  height: auto;
  display: block;
}

.sub-content__eyebrow {
  font-size: var(--font-size-14);
  color: var(--color-accent);
  margin-bottom: var(--space-12);
}

.sub-content__title {
  font-family: var(--font-en);
  font-size: var(--font-size-40);
  font-weight: 400;
  color: var(--color-title);
  margin-bottom: var(--space-20);
  line-height: 1.25em;
}

.sub-content__subtitle {
  font-size: var(--font-size-20);
  font-weight: 600;
  margin: var(--space-48) 0 var(--space-20);
  color: var(--color-title);
}

.sub-content__lead {
  font-size: var(--font-size-17);
  line-height: 1.75em;
  color: var(--color-body);
  margin-bottom: var(--space-24);
}

.sub-content__text p {
  font-size: var(--font-size-16);
  line-height: 1.75em;
  color: var(--color-body);
  margin-bottom: var(--space-16);
}

.sub-content--brand {
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
  background: #f2ede7;
}

.sub-content--brand .sub-content__inner.sub-content__split {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-70);
  align-items: center;
  max-width: none;
  width: 100%;
  max-width: var(--content-width);
  margin: 0 auto;
  padding: var(--space-120) var(--work-gutter);
  
  box-sizing: border-box;
}

.sub-content--brand .sub-content__media {
  position: relative;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

.sub-content--brand .sub-content__media img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.sub-content__text--brand {
  text-align: left;
}

.brand-greeting__label {
  font-family: var(--font-en);
  font-size: var(--font-size-15);
  font-weight: 400;
  color: var(--color-muted);
  margin: 0 0 var(--space-20);
  letter-spacing: 0.02em;
}

.brand-greeting__title {
  font-family: var(--font-en);
  font-size: var(--font-size-48);
  font-weight: 500;
  line-height: 1.2em;
  letter-spacing: -0.02em;
  color: var(--color-title);
  margin: 0 0 var(--space-56);
}

.brand-greeting__title span {
  display: block;
}

.brand-greeting__title span:not(:last-child) {
  margin-bottom: var(--space-2);
}

.brand-greeting__title span:nth-child(2)::after {
  content: '';
  display: block;
  width: 1px;
  height: 40px;
  margin: var(--space-14) 0 var(--space-16);
  background: rgba(69, 69, 69, 0.4);
}

.brand-greeting__title span:nth-child(3) {
  font-size: var(--font-size-36);
  line-height: 1.2em;
}

.sub-content__text--brand .brand-greeting__lead,
.brand-greeting__lead {
  font-size: var(--font-size-20);
  font-weight: 600;
  line-height: 1.55em;
  color: var(--color-title);
  margin: 0 0 var(--space-12);
}

.brand-greeting__lead .brand-greeting__accent,
.brand-greeting__accent {
  font-style: normal;
  color: #242424;
}

.sub-content__text--brand .brand-greeting__lead-en,
.brand-greeting__lead-en {
  font-size: var(--font-size-20);
  font-weight: 500;
  line-height: 1.5em;
  color: #242424;
  margin: 0 0 var(--space-28);
}

.brand-greeting__body p {
  font-size: var(--font-size-18);
  line-height: 1.85em;
  color: var(--color-body);
  margin: 0 0 1.25em;
}

.brand-greeting__body p:last-child {
  margin-bottom: 0;
}

.about-hero { position:relative; max-width:var(--content-width); margin:0 auto; padding:var(--space-48) var(--work-gutter) 0; }
.about-hero img { display:block; width:100%; height:auto; aspect-ratio:16 / 7; object-fit:cover; object-position:center; }
.about-hero__mark { position:absolute; left:var(--work-gutter); right:var(--work-gutter); top:var(--space-48); bottom:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; color:#805b43; text-align:center; pointer-events:none; }
.about-hero__name { margin:0; font-family:var(--font-en); font-size:clamp(34px, 4vw, 60px); font-weight:400; letter-spacing:0.1em; line-height:1; }
.about-hero__tag { margin:0; font-family:var(--font-en); font-size:clamp(12px, 1.3vw, 20px); font-weight:400; letter-spacing:0.025em; line-height:1.25; }
.about-hero__mark .about-hero__logo {
  display: block;
  width: auto;
  height: clamp(78px, 9vw, 118px);
  max-width: min(520px, 82%);
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
}
.about-story { display:grid; grid-template-columns:minmax(220px, 0.72fr) minmax(0, 1.28fr); gap:clamp(28px, 4vw, 72px); align-items:start; max-width:var(--content-width); margin:0 auto; padding:var(--space-56) var(--work-gutter) var(--space-28); box-sizing:border-box; }
.about-story .brand-greeting__title { margin-bottom:0; }
.about-story .brand-greeting__title span:nth-child(2)::after { content:none; display:none; }
.about-catalog { display:flex; justify-content:center; max-width:var(--content-width); margin:0 auto; padding:var(--space-20) var(--work-gutter) var(--space-80); }
main.sub-page:has(.page-about-noce-place) > .real-cont { padding-bottom:0; }
.about-catalog__btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 22px; background:var(--color-accent); color:#fff; font-size:var(--font-size-15); font-weight:500; text-decoration:none; }

.sub-content__list {
  margin: var(--space-24) 0 var(--space-32);
  padding-left: 1.2em;
  line-height: 1.75em;
  color: var(--color-body);
}

.sub-content__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12);
  margin-top: var(--space-32);
}

/* Hall Tour — Editorial */
.sub-content.hall-page {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  max-width: none;
}

.hall-intro {
  padding: var(--space-88) var(--work-gutter) var(--space-56);
  background: var(--color-bg);
}

.hall-intro__inner {
  max-width: var(--content-width);
  margin: 0 auto;
  text-align: center;
}

.hall-intro__eyebrow {
  font-size: var(--font-size-13);
  letter-spacing: 0.14em;
  color: var(--color-accent);
  margin-bottom: var(--space-16);
}

.hall-intro__title {
  font-family: var(--font-en);
  font-size: var(--font-size-52);
  font-weight: 400;
  line-height: 1.2em;
  color: var(--color-title);
  margin-bottom: var(--space-24);
}

.hall-intro__lead {
  font-size: var(--font-size-17);
  line-height: 1.85em;
  color: var(--color-body);
  max-width: 720px;
  margin: 0 auto;
}

.hall-bleed {
  margin: 0;
  position: relative;
  overflow: hidden;
  max-height: min(78vh, 920px);
  background: #e8e4df;
}

.hall-bleed__img,
.hall-bleed img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  max-height: min(78vh, 920px);
  object-fit: cover;
  object-position: center center;
}

.hall-bleed__cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: var(--space-20) var(--work-gutter);
  font-size: var(--font-size-12);
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.92);
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.45));
  text-align: center;
}

.hall-signature {
  padding: var(--space-120) var(--work-gutter);
  background: var(--color-white);
}

.hall-signature__inner {
  max-width: var(--content-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: var(--space-80);
  align-items: center;
}

.hall-signature__title {
  font-family: var(--font-en);
  font-size: var(--font-size-40);
  font-weight: 400;
  color: var(--color-title);
  margin-bottom: var(--space-20);
}

.hall-signature__desc {
  font-size: var(--font-size-16);
  line-height: 1.85em;
  color: var(--color-body);
  margin-bottom: var(--space-28);
}

.hall-signature__media {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #eee;
}

.hall-signature__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hall-meta {
  display: grid;
  gap: var(--space-12);
  margin: 0;
}

.hall-meta div {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: var(--space-12);
  font-size: var(--font-size-15);
  line-height: 1.6em;
  padding-bottom: var(--space-12);
  border-bottom: 1px solid var(--color-border);
}

.hall-meta dt {
  color: var(--color-muted);
  font-weight: 500;
}

.hall-meta dd {
  margin: 0;
  color: var(--color-title);
}

.hall-meta--compact div:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.hall-row {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: var(--space-63);
  align-items: center;
  max-width: var(--content-width);
  margin: 0 auto;
  padding: var(--space-100) var(--work-gutter);
}

.hall-row--reverse .hall-row__media {
  order: 2;
}

.hall-row--reverse .hall-row__copy {
  order: 1;
}

.hall-row__media {
  overflow: hidden;
  aspect-ratio: 5 / 4;
  background: #ebe7e2;
}

.hall-row__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hall-row__venue {
  font-size: var(--font-size-13);
  letter-spacing: 0.06em;
  color: var(--color-accent);
  margin-bottom: var(--space-12);
}

.hall-row__name {
  font-family: var(--font-en);
  font-size: var(--font-size-34);
  font-weight: 400;
  color: var(--color-title);
  margin-bottom: var(--space-16);
}

.hall-row__desc {
  font-size: var(--font-size-16);
  line-height: 1.85em;
  color: var(--color-body);
  margin-bottom: var(--space-24);
}

.hall-row .hall-meta {
  margin-bottom: var(--space-28);
}

.hall-row .btn {
  margin-top: var(--space-4);
}

.hall-row:nth-of-type(even) {
  background: var(--color-submenu-bg);
}

.hall-facilities {
  padding: var(--space-120) var(--work-gutter);
  background: var(--color-bg);
}

.hall-facilities__inner {
  max-width: var(--content-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr);
  gap: var(--space-70);
  align-items: start;
}

.hall-facilities__media {
  overflow: hidden;
  aspect-ratio: 3 / 4;
  max-height: 640px;
  background: #e5e0da;
}

.hall-facilities__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hall-facilities__title {
  font-family: var(--font-en);
  font-size: var(--font-size-36);
  font-weight: 400;
  color: var(--color-title);
  margin-bottom: var(--space-12);
}

.hall-facilities__lead {
  font-size: var(--font-size-16);
  line-height: 1.75em;
  color: var(--color-body);
  margin-bottom: var(--space-40);
}

.hall-facilities__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-28);
}

.hall-facilities__list li {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: var(--space-20);
  align-items: start;
  padding-bottom: var(--space-28);
  border-bottom: 1px solid var(--color-border);
}

.hall-facilities__list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.hall-facilities__num {
  font-family: var(--font-en);
  font-size: var(--font-size-15);
  letter-spacing: 0.08em;
  color: var(--color-accent);
  padding-top: var(--space-4);
}

.hall-facilities__name {
  font-size: var(--font-size-18);
  font-weight: 500;
  color: var(--color-title);
  margin-bottom: var(--space-6);
}

.hall-facilities__desc {
  font-size: var(--font-size-15);
  line-height: 1.65em;
  color: var(--color-muted);
  margin: 0;
}

.hall-page__foot {
  text-align: center;
  padding: var(--space-70) var(--work-gutter) var(--space-80);
  background: var(--color-white);
}

.sub-page .hall-page__cta {
  margin-top: 0;
}

.sub-page .hall-page__cta .cta__buttons .btn--solid {
  border-color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.12);
  color: var(--color-white);
}

.sub-page .hall-page__cta .cta__buttons .btn--solid:hover {
  background: rgba(255, 255, 255, 0.22);
}

.location-grid {
  display: grid;
  gap: var(--space-80);
}

.location-grid--stack,
.location-grid--2x2 {
  grid-template-columns: minmax(0, 1fr);
  max-width: var(--content-width);
  margin: 0 auto;
}

.location-grid--stack .location-card,
.location-grid--2x2 .location-card {
  display: grid;
  grid-template-columns: minmax(0, calc(50% + 20px)) minmax(0, calc(50% - 20px));
  gap: var(--space-48);
  align-items: stretch;
  background: transparent;
}

.location-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  min-height: 320px;
  padding: var(--space-56) var(--space-48);
  background: transparent;
}

.location-card__eyebrow {
  margin: 0 0 var(--space-12);
  font-size: var(--font-size-13);
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--color-accent-soft);
}

.location-card__detail {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-28);
}

.location-card__meta {
  margin: var(--space-40) 0 var(--space-48);
  width: 100%;
}

.location-card__meta-row {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: var(--space-40);
  align-items: baseline;
  padding: var(--space-2) 0;
}

.location-card__meta-row + .location-card__meta-row {
  margin-top: 0;
}

.location-card__meta dt {
  margin: 0;
  font-size: var(--font-size-15);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--color-muted);
}

.location-card__meta dd {
  margin: 0;
  font-size: var(--font-size-16);
  line-height: 1.65em;
  letter-spacing: -0.02em;
  color: var(--color-title);
}

.location-card__meta dd a {
  color: inherit;
  text-decoration: none;
}

.location-card__meta dd a:hover {
  color: var(--color-accent);
}

.location-card__map-btn {
  min-height: 48px;
  padding: var(--space-14) var(--space-28);
  font-family: var(--font-ko, inherit);
  font-size: var(--font-size-15);
  font-weight: 500;
  text-transform: none;
  letter-spacing: -0.02em;
  gap: var(--space-8);
}

.location-card__map-btn-icon {
  display: inline-block;
  font-size: var(--font-size-14);
  line-height: 1.3em;
  opacity: 0.92;
}

.location-card__link {
  margin-top: 0;
  font-size: var(--font-size-15);
}

.location-card__desc {
  font-size: var(--font-size-15);
  line-height: 1.65em;
  color: var(--color-body);
  margin-bottom: var(--space-16);
}

.location-card__panel {
  width: 100%;
  min-height: 320px;
  background: var(--color-submenu-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-24);
}

.location-card__panel-text {
  font-size: var(--font-size-14);
  letter-spacing: 0.12em;
  color: var(--color-muted);
  text-align: center;
  margin: 0;
}

.location-card--service .location-card__map {
  display: none;
}

.location-card__name {
  font-size: var(--font-size-32);
  font-weight: 500;
  line-height: 1.3em;
  letter-spacing: -0.03em;
  margin: 0;
  color: var(--color-title);
}

.location-card__addr,
.location-card__tel {
  font-size: var(--font-size-15);
  line-height: 1.6em;
  color: var(--color-body);
  margin-bottom: var(--space-8);
}

.location-grid--stack .location-card__map,
.location-grid--2x2 .location-card__map {
  position: relative;
  margin: 0;
  width: 100%;
  min-height: 320px;
  height: 100%;
  aspect-ratio: auto;
  background: #eee;
  overflow: hidden;
}

.location-card__map {
  position: relative;
  margin: 0;
  width: 100%;
  aspect-ratio: 21 / 9;
  min-height: 320px;
  background: #eee;
  overflow: hidden;
}

.location-card__map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.location-card__map-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.location-card__map-rough,
.location-card__map-rough iframe {
  width: 100%;
  height: 100%;
  min-height: 320px;
  border: 0;
}

.location-card__map-canvas--leaflet {
  z-index: 1;
}

.location-card__map-static-link {
  position: absolute;
  inset: 0;
  display: block;
}

.location-card__map-static {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  display: block;
}

.location-card__map-fallback {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-24);
  text-align: center;
  font-size: var(--font-size-15);
  color: var(--color-accent);
  text-decoration: underline;
  background: var(--color-submenu-bg);
}

.location-card__map-info {
  padding: var(--space-8) var(--space-12);
  font-size: var(--font-size-13);
  line-height: 1.4em;
  color: var(--color-title);
  white-space: nowrap;
}

.location-card .btn {
  margin-top: 0;
}

.company-dl {
  margin: var(--space-32) 0;
  border-top: 2px solid var(--color-title);
}

.company-dl div {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: var(--space-16);
  padding: var(--space-16) 0;
  border-bottom: 1px solid var(--color-border);
  font-size: var(--font-size-15);
  line-height: 1.6em;
}

.company-dl dt {
  font-weight: 600;
  color: var(--color-title);
}

.menu-block {
  margin-bottom: var(--space-40);
  padding: var(--space-28) var(--space-32);
  background: var(--color-white);
  border: 1px solid var(--color-border);
}

.menu-block__title {
  font-family: var(--font-en);
  font-size: var(--font-size-22);
  margin-bottom: var(--space-16);
  color: var(--color-accent);
}

.menu-block__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu-block__list li {
  display: flex;
  justify-content: space-between;
  padding: var(--space-10) 0;
  border-bottom: 1px solid #eee;
  font-size: var(--font-size-16);
}

.service-steps {
  list-style: none;
  margin: var(--space-40) 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}

.service-steps li {
  display: flex;
  gap: var(--space-20);
  align-items: flex-start;
  padding: var(--space-24);
  background: var(--color-white);
  border: 1px solid var(--color-border);
}

.service-steps__num {
  font-family: var(--font-en);
  font-size: var(--font-size-28);
  color: var(--color-accent);
  flex-shrink: 0;
}

.service-types {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-20);
  margin-bottom: var(--space-40);
}

.service-types article {
  padding: var(--space-24);
  background: var(--color-submenu-bg);
}

.service-types h3 {
  font-size: var(--font-size-18);
  margin-bottom: var(--space-8);
  color: var(--color-title);
}

.contact-form__row {
  margin-bottom: var(--space-20);
}

.contact-form__row--half {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-16);
}

.contact-form__label {
  display: block;
  margin-bottom: var(--space-8);
  font-size: var(--font-size-15);
  font-weight: 600;
  color: var(--color-title);
}

.contact-form__input,
.contact-form__textarea {
  width: 100%;
  padding: var(--space-14) var(--space-16);
  font-size: var(--font-size-15);
  border: 1px solid #ddd;
  background: var(--color-white);
  color: var(--color-title);
}

.contact-form__textarea {
  resize: vertical;
  min-height: 140px;
}

.contact-form__note {
  font-size: var(--font-size-13);
  color: var(--color-muted);
  margin-bottom: var(--space-20);
}

.contact-form__submit {
  min-width: 160px;
}

/* 행사·대관 문의 — 좌 라벨 · 우 입력 (board-form 톤) */
.contact-form--board {
  margin-top: var(--space-40);
  border-top: 2px solid #868686;
  border-bottom: 1px solid #868686;
}

.contact-form--board .contact-form__row {
  display: grid;
  grid-template-columns: minmax(140px, 200px) minmax(0, 1fr);
  gap: var(--space-12) var(--space-20);
  align-items: center;
  margin-bottom: 0;
  padding: var(--space-14) 0;
  border-bottom: 1px solid #eee;
}

.contact-form--board .contact-form__row:last-of-type {
  border-bottom: 0;
}

.contact-form--board .contact-form__row--textarea {
  align-items: start;
  padding-top: var(--space-18);
  padding-bottom: var(--space-18);
}

.contact-form--board .contact-form__label {
  margin-bottom: 0;
  font-size: var(--font-size-16);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #333;
}

.contact-form--board .contact-form__field {
  min-width: 0;
}

.contact-form--board .contact-form__input,
.contact-form--board .contact-form__textarea {
  padding: var(--space-12) var(--space-16);
  font-size: var(--font-size-16);
  border-color: #eee;
  letter-spacing: -0.03em;
}

.contact-form--board .contact-form__input::placeholder,
.contact-form--board .contact-form__textarea::placeholder {
  color: #aaa;
}

.contact-form--board .contact-form__textarea {
  min-height: 160px;
}

.contact-form--board .contact-form__note {
  margin-top: var(--space-24);
  margin-bottom: 0;
  text-align: center;
  font-size: var(--font-size-14);
  line-height: 1.6em;
}

.contact-form--board .contact-form__actions {
  margin-top: var(--space-28);
  text-align: center;
}

.contact-form--board .contact-form__submit {
  min-width: min(100%, 320px);
  min-height: 52px;
  padding: var(--space-14) var(--space-48);
  font-family: var(--font-ko, inherit);
  font-size: var(--font-size-16);
  font-weight: 600;
  text-transform: none;
  letter-spacing: -0.03em;
  border-radius: 999px;
}

/* 행사·대관 문의 — RESERVATION INQUIRY 2열 */
.sub-content--inquiry {
  padding-top: var(--space-24);
}

.contact-inquiry {
  display: grid;
  grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr);
  gap: var(--space-80);
  align-items: start;
}

.contact-inquiry__eyebrow {
  margin: 0 0 var(--space-20);
  font-family: var(--font-en);
  font-size: var(--font-size-13);
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-muted);
}

.contact-inquiry__title {
  margin: 0 0 var(--space-20);
  font-size: var(--font-size-40);
  font-weight: 400;
  line-height: 1.35em;
  letter-spacing: -0.04em;
  color: var(--color-title);
}

.contact-inquiry__desc {
  margin: 0 0 var(--space-40);
  font-size: var(--font-size-16);
  line-height: 1.75em;
  color: var(--color-muted);
}

.contact-inquiry__visual {
  margin: 0 0 var(--space-36);
}

.contact-inquiry__visual img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.contact-inquiry__venues {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--color-border);
}

.contact-inquiry__venues li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-16);
  padding: var(--space-14) 0;
  border-bottom: 1px solid var(--color-border);
  font-size: var(--font-size-15);
  line-height: 1.5em;
}

.contact-inquiry__venue-name {
  color: var(--color-body);
  letter-spacing: -0.02em;
}

.contact-inquiry__venue-tel {
  flex-shrink: 0;
  color: var(--color-title);
  text-decoration: none;
  letter-spacing: -0.02em;
}

.contact-inquiry__venue-tel:hover {
  color: var(--color-accent);
}

.contact-inquiry__form-wrap {
  position: relative;
  min-width: 0;
}

.contact-form__required-note {
  margin: 0 0 var(--space-20);
  text-align: right;
  font-size: var(--font-size-15);
  color: var(--color-muted);
  letter-spacing: -0.02em;
}

.contact-form__required-note span {
  color: #6b4e42;
}

.contact-form--inquiry {
  margin-top: 0;
}

.contact-form--inquiry .contact-form__row {
  margin-bottom: var(--space-24);
}

.contact-form--inquiry .contact-form__row--pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-24);
}

.contact-form--inquiry .contact-form__cell {
  min-width: 0;
}

.contact-form--inquiry .contact-form__label {
  margin-bottom: var(--space-10);
  font-size: var(--font-size-16);
  font-weight: 500;
  color: var(--color-title);
  letter-spacing: -0.03em;
}

.contact-form__req {
  color: #6b4e42;
  font-weight: 500;
}

.contact-form--inquiry .contact-form__input,
.contact-form--inquiry .contact-form__textarea,
.contact-form--inquiry .contact-form__select {
  width: 100%;
  padding: var(--space-14) var(--space-16);
  font-size: var(--font-size-15);
  line-height: 1.4em;
  color: var(--color-title);
  background: var(--color-white);
  border: 1px solid #ddd;
  border-radius: 0;
  letter-spacing: -0.02em;
  appearance: none;
}

.contact-form--inquiry .contact-form__select {
  padding-right: var(--space-40);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%237a766e' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  cursor: pointer;
}

.contact-form--inquiry .contact-form__select:disabled {
  color: #aaa;
  background-color: #fafafa;
  cursor: not-allowed;
}

.contact-form--inquiry .contact-form__input:focus,
.contact-form--inquiry .contact-form__input:focus-visible,
.contact-form--inquiry .contact-form__textarea:focus,
.contact-form--inquiry .contact-form__textarea:focus-visible,
.contact-form--inquiry .contact-form__select:focus,
.contact-form--inquiry .contact-form__select:focus-visible {
  outline: none;
  border-color: #6b4e42;
}

.contact-form--inquiry .contact-form__input:invalid,
.contact-form--inquiry .contact-form__textarea:invalid,
.contact-form--inquiry .contact-form__select:invalid {
  border-color: #ddd;
  box-shadow: none;
}

.contact-form--inquiry .contact-form__input:invalid:focus,
.contact-form--inquiry .contact-form__input:invalid:focus-visible,
.contact-form--inquiry .contact-form__textarea:invalid:focus,
.contact-form--inquiry .contact-form__textarea:invalid:focus-visible,
.contact-form--inquiry .contact-form__select:invalid:focus,
.contact-form--inquiry .contact-form__select:invalid:focus-visible {
  border-color: #6b4e42;
}

.contact-form--inquiry .contact-form__input::placeholder,
.contact-form--inquiry .contact-form__textarea::placeholder {
  color: #aaa;
}

.contact-form--inquiry .contact-form__field--date .contact-form__input,
.contact-form--inquiry .contact-form__field--time .contact-form__input {
  color-scheme: light;
}

.contact-form--inquiry .contact-form__textarea {
  min-height: 140px;
  resize: vertical;
}

.contact-form--inquiry .contact-form__captcha {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: var(--space-10);
}

.contact-form__captcha-visual {
  flex: 0 0 120px;
  width: 120px;
  height: 44px;
  background: #f3f0eb;
  border: 1px solid #ddd;
  box-sizing: border-box;
  overflow: hidden;
}

.contact-form__captcha-visual canvas {
  display: block;
  width: 100%;
  height: 100%;
}

.contact-form__captcha-refresh {
  flex: 0 0 auto;
  align-self: center;
  padding: var(--space-10) var(--space-14);
  font-family: var(--font-ko);
  font-size: var(--font-size-13);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--color-title);
  background: var(--color-white);
  border: 1px solid #ddd;
  border-radius: 0;
  cursor: pointer;
  transition: border-color var(--transition-base), color var(--transition-base);
}

.contact-form__captcha-refresh:hover {
  border-color: var(--color-accent-soft);
  color: var(--color-accent);
}

.contact-form--inquiry .contact-form__input--captcha {
  flex: 1 1 180px;
  min-width: min(100%, 160px);
  max-width: 100%;
}

.contact-form__captcha-hint {
  margin: var(--space-8) 0 0;
  font-size: var(--font-size-12);
  line-height: 1.5em;
  color: var(--color-muted);
  letter-spacing: -0.02em;
}

.contact-form--inquiry .contact-form__privacy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-12) var(--space-16);
  margin: var(--space-8) 0 var(--space-28);
}

.contact-form--inquiry .contact-form__privacy-agree {
  display: flex;
  align-items: center;
  gap: var(--space-10);
  min-width: 0;
}

.contact-form--inquiry .contact-form__privacy-input {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #6b4e42;
  border-radius: 3px;
  cursor: pointer;
}

.contact-form--inquiry .contact-form__privacy-label {
  font-size: var(--font-size-14);
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: -0.02em;
  color: var(--color-title);
  cursor: pointer;
}

.contact-form--inquiry .contact-form__privacy-full {
  flex-shrink: 0;
  padding: var(--space-6) var(--space-12);
  font-family: var(--font-ko);
  font-size: var(--font-size-12);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--color-muted);
  background: var(--color-white);
  border: 1px solid #ddd;
  border-radius: 2px;
  cursor: pointer;
  transition: border-color var(--transition-base), color var(--transition-base);
}

.contact-form--inquiry .contact-form__privacy-full:hover {
  border-color: var(--color-accent-soft);
  color: var(--color-title);
}

.contact-form--inquiry .contact-form__privacy-fulltext {
  margin: calc(-1 * var(--space-16)) 0 var(--space-24);
  padding: var(--space-16) var(--space-18);
  max-height: 200px;
  overflow-y: auto;
  font-size: var(--font-size-12);
  line-height: 1.65em;
  letter-spacing: -0.02em;
  color: var(--color-body);
  background: #f7f5f2;
  border: 1px solid #e8e4de;
}

.contact-form--inquiry .contact-form__privacy-fulltext p {
  margin: 0 0 var(--space-10);
}

.contact-form--inquiry .contact-form__privacy-fulltext p:last-child {
  margin-bottom: 0;
}

.contact-form--inquiry .contact-form__privacy-fulltext ul {
  margin: 0 0 var(--space-10);
  padding-left: 1.2em;
}

.contact-form--inquiry .contact-form__privacy-fulltext li {
  margin-bottom: var(--space-4);
}

.contact-form--inquiry .contact-form__actions {
  margin: 0;
}

.contact-form--inquiry .contact-form__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 56px;
  padding: var(--space-16) var(--space-48) var(--space-16) var(--space-24);
  font-size: var(--font-size-16);
  font-weight: 600;
  letter-spacing: -0.03em;
  border-radius: 0;
}

.contact-form--inquiry .contact-form__submit-arrow {
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  font-size: var(--font-size-18);
  line-height: 1.3em;
}

/* Editorial layouts (0907 · main/Community 톤 확장) */
.board__tabs--wrap {
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-8);
}

.ed-hero {
  margin-bottom: var(--space-80);
}

/* Venue 홀 — 3depth LNB ↔ ed-hero__cap (page-head 하단 −100px) */
.page-head:has(+ .ed-hero--cap-first) {
  padding-bottom: var(--space-45);
}

.page-head:has(.venue-nav__depth3):has(+ .ed-hero--cap-first) {
  padding-bottom: calc(var(--space-45) + var(--space-40));
}

/* Venue 행사대관 — 3depth LNB ↔ ed-section-title 100px (정본: site.css #wrapper) */
.page-head:has(.venue-nav__depth3):has(+ .ed-body) .venue-nav__depth3 {
  padding-bottom: 0;
}

.page-head:has(.venue-nav__depth3):has(+ .ed-body) {
  padding-bottom: var(--space-100);
}

.ed-hero--cap-first {
  margin-top: 0;
}

.ed-hero--cap-first .ed-hero__cap {
  margin: 0 auto var(--space-80);
  padding: 0 var(--work-gutter);
}

/* Venue 홀 — 스와이퍼 뷰포트 풀폭 · 양옆 peek (PLAZA형) */
.ed-hero--cap-first .ed-hero__media {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: var(--color-bg);
}

.ed-hero--cap-first .ed-hero__media:has(.ed-hero-gallery) {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
}

.ed-hero__media {
  position: relative;
  width: 100%;
  max-height: min(72vh, 820px);
  overflow: hidden;
  background: var(--color-bg);
}

.ed-hero__media:has(.ed-hero-swiper) {
  max-height: none;
  overflow: visible;
  background: var(--color-bg);
}

.ed-hero__media:has(.ed-hero-gallery) {
  max-height: none;
  overflow: hidden;
  background: var(--color-bg);
}

.ed-hero__media:has(.ed-hero-gallery--premium) {
  overflow: visible;
  padding-bottom: var(--space-16);
}

.ed-hero__media:not(:has(.ed-hero-gallery)) img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  max-height: min(72vh, 820px);
  object-fit: cover;
  display: block;
}

.ed-hero-swiper {
  width: 100%;
  height: min(72vh, 820px);
  min-height: 280px;
  overflow: hidden;
  padding: 0;
  box-sizing: border-box;
}

.ed-hero-swiper .swiper-wrapper {
  align-items: center;
}

.ed-hero-swiper:not(.is-ready) .swiper-slide:not(:first-child) {
  visibility: hidden;
}

.ed-hero-swiper.is-ready .swiper-slide {
  visibility: visible;
}

.ed-hero-swiper .swiper-slide {
  width: clamp(260px, 48vw, 780px);
  height: auto;
  flex-shrink: 0;
  z-index: 1;
  transition: width var(--transition-slow);
}

.ed-hero-swiper .swiper-slide-active,
.ed-hero-swiper .swiper-slide-duplicate-active {
  width: clamp(320px, 82vw, 1200px);
  z-index: 3;
}

.ed-hero-swiper .swiper-slide img {
  width: 100%;
  height: min(72vh, 820px);
  min-height: 280px;
  object-fit: cover;
  object-position: center center;
  display: block;
  background: var(--color-submenu-bg);
}

/* Venue 홀 — 1920 풀폭 3-up (중앙 78% · 양옆 dim peek) */
.ed-hero-gallery--premium {
  --ed-hero-gallery-max: 1920px;
  --ed-hero-gallery-stage-boost: 80px;
  --ed-hero-gallery-main-boost: 64px;
  /* preview ≈ main × (656−100)/656 — main +80px 시 양옆도 동일 비율 */
  --ed-hero-gallery-preview-ratio: 0.847560975;
  --ed-hero-gallery-stage: calc(clamp(280px, 34.2vw, 656px) + var(--ed-hero-gallery-stage-boost));
  --ed-hero-gallery-gap: var(--space-40);
  --ed-hero-gallery-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
  width: 100%;
  max-width: var(--ed-hero-gallery-max);
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}

.ed-hero-gallery--premium .ed-hero-gallery__thumbs {
  display: grid;
  grid-template-columns: minmax(0, 11fr) minmax(0, 78fr) minmax(0, 11fr);
  gap: var(--ed-hero-gallery-gap);
  width: 100%;
  box-sizing: border-box;
}

.ed-hero-gallery--premium .ed-hero-gallery__thumbs-track {
  grid-column: 2;
  width: calc(100% + var(--ed-hero-gallery-main-boost));
  margin-inline: calc(var(--ed-hero-gallery-main-boost) / -2);
  justify-self: center;
  box-sizing: border-box;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: center;
  gap: var(--space-10);
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: var(--space-2) 0 var(--space-4);
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
}

.ed-hero-gallery--premium .ed-hero-gallery__thumb {
  flex: 0 0 auto;
  width: clamp(100px, 10vw, 160px);
  aspect-ratio: 16 / 9;
  margin: 0;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 0;
  background: var(--color-submenu-bg);
  cursor: pointer;
  opacity: 0.72;
  overflow: hidden;
  transition:
    opacity var(--transition-base),
    border-color var(--transition-base),
    box-shadow var(--transition-base);
}

.ed-hero-gallery--premium .ed-hero-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.ed-hero-gallery--premium .ed-hero-gallery__thumb:hover {
  opacity: 0.92;
}

.ed-hero-gallery--premium .ed-hero-gallery__thumb.is-active {
  opacity: 1;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 1px rgba(99, 42, 13, 0.15);
}

.ed-hero-gallery--premium .ed-hero-gallery__thumb:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.ed-hero-gallery--premium .ed-hero-gallery__inner {
  display: grid;
  grid-template-columns: minmax(0, 11fr) minmax(0, 78fr) minmax(0, 11fr);
  align-items: center;
  gap: var(--ed-hero-gallery-gap);
  width: 100%;
  min-height: var(--ed-hero-gallery-stage);
  height: auto;
  box-sizing: border-box;
}

.ed-hero-gallery--premium .ed-hero-gallery__preview,
.ed-hero-gallery--premium .ed-hero-gallery__main {
  position: relative;
  margin: 0;
  min-width: 0;
  overflow: hidden;
}

.ed-hero-gallery--premium .ed-hero-gallery__preview {
  height: max(180px, calc(var(--ed-hero-gallery-stage) * var(--ed-hero-gallery-preview-ratio)));
  align-self: center;
}

.ed-hero-gallery--premium .ed-hero-gallery__main {
  z-index: 2;
  width: calc(100% + var(--ed-hero-gallery-main-boost));
  margin-inline: calc(var(--ed-hero-gallery-main-boost) / -2);
  height: auto;
  aspect-ratio: 16 / 9;
  align-self: center;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.ed-hero-gallery--premium .ed-hero-gallery__preview::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.42);
  pointer-events: none;
  z-index: 1;
}

.ed-hero-gallery--premium .ed-hero-gallery__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  flex: 1 1 auto;
  object-fit: cover;
  object-position: center center;
}

.ed-hero-gallery--premium .ed-hero-gallery__main .ed-hero-gallery__img {
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
}

.ed-hero-gallery--premium .ed-hero-gallery__preview--prev {
  transform: translateX(-20px);
}

.ed-hero-gallery--premium .ed-hero-gallery__preview--next {
  transform: translateX(20px);
}

.ed-hero-gallery--premium .ed-hero-gallery__preview--prev .ed-hero-gallery__img {
  object-position: 100% center;
}

.ed-hero-gallery--premium .ed-hero-gallery__preview--next .ed-hero-gallery__img {
  object-position: 0% center;
}

.ed-hero-gallery--premium .ed-hero-gallery__nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: translateY(-50%);
  cursor: pointer;
  opacity: 0.5;
  transition: opacity var(--transition-base);
}

.ed-hero-gallery--premium .ed-hero-gallery__nav::after {
  content: '';
  display: block;
  width: 48px;
  height: 48px;
  background: var(--ed-hero-gallery-chevron) center / contain no-repeat;
}

.ed-hero-gallery--premium .ed-hero-gallery__nav--prev {
  left: clamp(12px, 1.5vw, 24px);
  --ed-hero-gallery-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E");
}

.ed-hero-gallery--premium .ed-hero-gallery__nav--next {
  right: clamp(12px, 1.5vw, 24px);
}

.ed-hero-gallery--premium .ed-hero-gallery__nav:hover {
  opacity: 1;
}

.ed-hero-gallery--premium .ed-hero-gallery__nav:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.ed-hero__media:has(.ed-hero-gallery--premium) .ed-hero-gallery__main .ed-hero-gallery__img {
  object-fit: cover;
}

.ed-hero-swiper__btn {
  --ed-hero-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
  position: absolute;
  top: 50%;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
  transform: translateY(-50%);
  cursor: pointer;
  opacity: 0.88;
  transition: opacity var(--transition-base);
}

.ed-hero-swiper__btn::after,
.ed-hero-swiper__btn.swiper-button-prev::after,
.ed-hero-swiper__btn.swiper-button-next::after {
  content: '';
  display: block;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  margin: 0;
  border: none;
  font-size: 0;
  line-height: 0;
  background: var(--ed-hero-nav-icon) center / contain no-repeat;
}

.ed-hero-swiper__btn:hover {
  opacity: 1;
  background: transparent;
  box-shadow: none;
}

.ed-hero-swiper__btn:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

.ed-hero-swiper__btn--prev {
  left: max(16px, calc(50% - min(34vw, 520px) + 12px));
  --ed-hero-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E");
}

.ed-hero-swiper__btn--next {
  right: max(16px, calc(50% - min(34vw, 520px) + 12px));
}

.ed-hero-swiper__btn.swiper-button-disabled {
  opacity: 0.28;
  cursor: default;
  pointer-events: none;
}

.ed-hero--short .ed-hero__media {
  max-height: 420px;
}

.ed-hero__cap {
  max-width: var(--content-width);
  margin: var(--space-48) auto 0;
  padding: 0 var(--work-gutter);
  text-align: center;
}

.ed-hero__eyebrow {
  font-size: var(--font-size-15);
  letter-spacing: 0.12em;
  color: var(--color-accent);
  margin-bottom: var(--space-12);
}

.ed-hero__title {
  font-family: var(--font-en);
  font-size: var(--font-size-48);
  line-height: 1.3em;
  font-weight: 600;
  color: var(--color-title);
  margin-bottom: var(--space-16);
}

.ed-hero__lead {
  font-size: var(--font-size-17);
  line-height: 1.75em;
  color: var(--color-body);
  max-width: 840px;
  margin: 0 auto;
}

.ed-body {
  padding: 0 var(--work-gutter) var(--space-120);
}

/* 행사대관 VR 블록 바로 아래 홀 갤러리 — 하단 여백 중복 제거 */
.ed-body:has(+ .ed-hero--hall-switch) {
  padding-bottom: 0;
}

.ed-body__inner {
  max-width: var(--content-width);
  margin: 0 auto;
  padding: 0 var(--work-gutter);
}

.ed-body--fb {
  padding-top: 0;
}

.ed-fb-intro {
  margin: 0 calc(-1 * var(--work-gutter)) var(--space-70);
  padding: 0 var(--work-gutter) var(--space-96);
  background: var(--color-bg);
  border-bottom: 1px solid #e5e0d6;
}

.ed-fb-intro__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-70);
  align-items: center;
  max-width: var(--content-width);
  margin: 0 auto;
  padding: 0 var(--work-gutter);
}

.ed-fb-intro__eyebrow {
  margin: 0 0 var(--space-20);
  font-size: var(--font-size-14);
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--color-accent-soft);
}

.ed-fb-intro__title {
  margin: 0 0 var(--space-28);
  font-family: var(--font-ko);
  font-size: var(--font-size-48);
  font-weight: 400;
  line-height: 1.48em;
  letter-spacing: -0.04em;
  color: #222222;
  word-break: keep-all;
}

.ed-fb-intro__lead {
  margin: 0;
  font-size: var(--font-size-20);
  line-height: 1.65em;
  letter-spacing: -0.02em;
  color: var(--color-muted);
}

.ed-fb-intro__media {
  min-width: 0;
}

.ed-fb-intro__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.ed-section-title {
  font-family: var(--font-en);
  font-size: var(--font-size-36);
  font-weight: 400;
  color: var(--color-title);
  margin-top: 0;
  margin-bottom: var(--space-12);
}

.ed-section-lead {
  font-size: var(--font-size-16);
  line-height: 1.75em;
  color: var(--color-body);
  margin-bottom: var(--space-40);
}

.ed-prose {
  font-size: var(--font-size-16);
  line-height: 1.85em;
  color: var(--color-body);
  max-width: 720px;
}

.ed-actions {
  margin-top: var(--space-40);
}

.ed-brand {
  padding: 0 var(--work-gutter) var(--space-120);
}

.ed-brand__inner {
  max-width: var(--content-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
  gap: var(--space-63);
  align-items: start;
}

.ed-brand__visual img {
  width: 100%;
  height: auto;
  display: block;
}

.ed-brand__text {
  font-size: var(--font-size-15);
  line-height: 1.9em;
  color: var(--color-body);
  white-space: normal;
}

.ed-vr-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-24);
}

.ed-vr-grid--single {
  grid-template-columns: minmax(0, 420px);
  justify-content: center;
}

.ed-vr-grid--showcase {
  display: flex;
  flex-direction: column;
  gap: var(--space-120);
  margin-top: var(--space-56);
}

.ed-vr-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: var(--space-63);
  align-items: center;
}

.ed-vr-showcase--reverse .ed-vr-showcase__media {
  order: 2;
}

.ed-vr-showcase--reverse .ed-vr-showcase__copy {
  order: 1;
}

.ed-vr-showcase__media {
  min-width: 0;
}

.ed-vr-showcase__media img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.ed-vr-showcase__copy {
  padding: var(--space-56) var(--space-48);
  background: #fdfaf6;
}

.ed-vr-showcase__brand {
  margin: 0 0 var(--space-24);
  font-family: var(--font-en);
  font-size: var(--font-size-14);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.4em;
  color: #a89d91;
}

.ed-vr-showcase__num {
  margin: 0 0 var(--space-12);
  font-family: var(--font-en);
  font-size: var(--font-size-80);
  font-weight: 400;
  line-height: 1.3em;
  letter-spacing: -0.02em;
  color: #d4ccc4;
}

.ed-vr-showcase__title {
  margin: 0 0 var(--space-20);
  font-family: var(--font-ko);
  font-size: var(--font-size-36);
  font-weight: 400;
  line-height: 1.25em;
  letter-spacing: -0.03em;
  color: #242424;
}

.ed-vr-showcase__desc {
  margin: 0 0 var(--space-45);
  font-family: var(--font-ko);
  font-size: var(--font-size-16);
  font-weight: 400;
  line-height: 1.75em;
  letter-spacing: -0.03em;
  color: #666666;
}

.ed-vr-showcase__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-20) var(--space-28);
}

.ed-vr-showcase__btn.btn--solid {
  min-height: 48px;
  padding: var(--space-14) var(--space-28);
  font-family: var(--font-ko);
  font-size: var(--font-size-18);
  font-weight: 500;
  text-transform: none;
  letter-spacing: -0.02em;
  border-radius: 0;
  color: #ffffff;
  background: #6b4e42;
  border: 1px solid #6b4e42;
  gap: var(--space-8);
}

.ed-vr-showcase__btn.btn--solid:hover {
  color: #ffffff;
  background: #5a4238;
  border-color: #5a4238;
}

.ed-vr-showcase__btn-icon {
  font-size: var(--font-size-14);
  line-height: 1.3em;
  font-weight: 400;
}

.ed-vr-showcase__link {
  font-family: var(--font-ko);
  font-size: var(--font-size-18);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: #6b4e42;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
  text-decoration-color: #6b4e42;
}

.ed-vr-showcase__link:hover {
  color: #5a4238;
  text-decoration-color: #5a4238;
}

.ed-service-photos {
  margin-top: var(--space-56);
}

.ed-service-photos .ed-menu-block__grid {
  margin-bottom: 0;
}

.ed-vr-card {
  border: 1px solid var(--color-border);
  background: var(--color-white);
  padding: var(--space-20);
  text-align: center;
}

.ed-vr-card__img {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  margin-bottom: var(--space-16);
  background: #eee;
}

.ed-vr-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ed-vr-card__title {
  font-size: var(--font-size-18);
  margin-bottom: var(--space-16);
  color: var(--color-title);
}

.ed-vr-card .btn {
  min-height: 48px;
  padding: var(--space-14) var(--space-28);
  font-size: var(--font-size-18);
  font-family: var(--font-ko);
  font-weight: 600;
  text-transform: none;
  letter-spacing: -0.02em;
  border-radius: 0;
  border: none;
  background: #7b5344;
  color: var(--color-white);
}

.ed-vr-card .btn:hover {
  background: var(--color-accent-light);
  color: var(--color-white);
  border: none;
}

.ed-vr-card .btn.btn--outline-dark {
  border: none;
  background: #7b5344;
  color: var(--color-white);
}

.ed-vr-card .btn.btn--outline-dark:hover {
  background: var(--color-accent-light);
  color: var(--color-white);
}

/* 행사대관 — 홀 탭 + 프리미엄 갤러리 (보테가 등) */
.ed-hero--hall-switch {
  margin-top: var(--space-70);
}

#venue-hall-images.ed-hero--hall-switch {
  scroll-margin-top: var(--space-140);
}

.ed-hero--hall-switch .ed-hall-switch__caps {
  position: relative;
}

/* cap(타이틀·리드) 하단 ↔ 갤러리(또는 홀 탭) 상단 48px */
.ed-hero--hall-switch .ed-hall-switch__caps {
  margin-bottom: var(--space-48);
}

.ed-hero--hall-switch.ed-hero--cap-first .ed-hero__cap {
  margin-bottom: 0;
}

.ed-hero--hall-switch .ed-hall-switch__cap:not(.is-active) {
  display: none;
}

.ed-hero--hall-switch .ed-hall-switch__tabs {
  margin: 0 auto var(--space-28);
  max-width: var(--content-width);
  padding: 0 var(--work-gutter);
  box-sizing: border-box;
}

.ed-hero--hall-switch .ed-hall-switch__tabs .board__tab {
  font-family: var(--font-ko);
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  background: transparent;
}

.ed-hall-switch__media {
  width: 100%;
}

.ed-hall-switch__panel:not(.is-active) {
  display: none;
}

.ed-menu-block {
  margin-bottom: var(--space-56);
  padding-bottom: var(--space-56);
  border-bottom: 1px solid var(--color-border);
}

.ed-menu-block[id] {
  scroll-margin-top: var(--space-140);
}

.ed-menu-block:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.ed-menu-block__title {
  font-size: var(--font-size-22);
  color: var(--color-accent);
  margin-bottom: var(--space-24);
}

.ed-menu-block__visual {
  margin-bottom: var(--space-20);
}

.ed-menu-block__visual .ed-menu-block__grid {
  margin-bottom: 0;
}

.ed-menu-block__visual .ed-menu-block__grid + .ed-menu-block__grid {
  margin-top: var(--space-24);
}

.ed-menu-block__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-12);
  margin-bottom: var(--space-20);
}

.ed-menu-block__grid--landscape .ed-menu-block__thumb img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.ed-menu-block__grid .ed-menu-block__thumb {
  display: block;
  position: relative;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}

.ed-menu-block__grid .ed-menu-block__thumb img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.ed-menu-block__grid .ed-menu-block__thumb:hover img,
.ed-menu-block__grid .ed-menu-block__thumb:focus-visible img {
  transform: scale(1.04);
}

.ed-menu-block__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-20);
  background: rgba(16, 16, 16, 0.52);
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}

.ed-menu-block__thumb:hover .ed-menu-block__overlay,
.ed-menu-block__thumb:focus-visible .ed-menu-block__overlay {
  opacity: 1;
}

.ed-menu-block__caption {
  font-family: var(--font-en);
  font-size: var(--font-size-18);
  font-weight: 500;
  line-height: 1.35;
  text-align: center;
  color: #fff;
  word-break: keep-all;
}

/* F&B 뷔페 등 세로형 사진 — portrait grid */
.ed-menu-block__grid--portrait {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ed-menu-block__grid--portrait .ed-menu-block__thumb img {
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.ed-menu-block__note {
  font-size: var(--font-size-15);
  line-height: 1.75em;
  color: var(--color-muted);
}

.root_daum_roughmap .cont {display: none;}
.root_daum_roughmap .wrap_map, .root_daum_roughmap {width: 100% !important; height: 100% !important;}

.ed-fb-intro__body { display:flex; flex-direction:column; gap:var(--space-16); margin:var(--space-16) 0 0; font-size:var(--font-size-16); line-height:1.75; color:var(--color-body); }
.ed-fb-intro__body p { margin:0; }
.ed-fb-intro__menu { display:inline-flex; margin-top:var(--space-28); }

.venue-spec { padding:var(--space-80) 0 0; background:var(--color-bg); }
.venue-spec__inner { max-width:var(--content-width); margin:0 auto; padding:0 var(--work-gutter); }
.venue-spec__list { margin:0; }
.venue-spec__row { display:grid; grid-template-columns:160px minmax(0,1fr) minmax(0,1fr); gap:var(--space-24); padding:var(--space-28) 0; border-top:1px solid #e5e0d6; }
.venue-spec__row:last-child { border-bottom:1px solid #e5e0d6; }
.venue-spec__row dt { margin:0; font-family:var(--font-en); font-size:var(--font-size-18); font-weight:500; letter-spacing:0.08em; color:var(--color-accent); }
.venue-spec__row dd { margin:0; }
.venue-spec__row p { margin:0 0 var(--space-8); }
.venue-spec__label { display:inline-block; min-width:5.5em; margin-right:var(--space-12); color:var(--color-title); font-weight:600; }
.venue-spec__multiline { display:flex; align-items:flex-start; }
.venue-spec__multiline .venue-spec__label { flex:0 0 5.5em; margin-right:var(--space-12); }
.venue-spec__lines { display:flex; flex-direction:column; gap:0.2em; min-width:0; flex:1 1 auto; }
.venue-spec__lines > span { display:block; }
.venue-spec__contact { display:flex; flex-wrap:wrap; gap:var(--space-8) var(--space-28); margin:0; }
.venue-spec__contact a { color:inherit; }
.venue-spec__row--contact dd { grid-column:2 / -1; }

.venue-addon { max-width:var(--content-width); margin:0 auto; padding:0 var(--work-gutter) var(--space-100); box-sizing:border-box; }
.venue-addon__lead { max-width:760px; margin:0 auto var(--space-32); text-align:center; font-size:var(--font-size-15); line-height:1.75; color:var(--color-muted); }
.venue-addon__note { max-width:760px; margin:var(--space-28) auto 0; text-align:center; font-size:var(--font-size-14); line-height:1.6; color:var(--color-muted); }
.venue-addon__scroll { overflow-x:auto; }
.venue-addon__table { width:100%; min-width:auto; border-collapse:collapse; }
.venue-addon__table caption { margin-bottom:var(--space-24); font-size:var(--font-size-24); font-weight:600; line-height:1.4em; text-align:center; color:var(--color-title); }
.venue-addon__table th, .venue-addon__table td { padding:var(--space-14) var(--space-16); border:1px solid #e5e0d6; text-align:center; vertical-align:middle; font-size:var(--font-size-15); line-height:1.5em; }
.venue-addon__table thead th { background:var(--color-bg); font-weight:600; }
.venue-addon__table tbody th { background:#fff; font-weight:600; }

.collection-page { padding:0; }
.collection-hero { max-width:860px; margin:0 auto var(--space-80); padding:0 var(--work-gutter); text-align:center; }
.collection-hero__title { margin:0 0 var(--space-40); font-family:var(--font-en); font-size:clamp(32px, 4vw, 56px); font-weight:400; letter-spacing:0.12em; line-height:1.2em; color:var(--color-title); }
.collection-hero__lead { margin:0 0 var(--space-16); font-size:var(--font-size-24); font-weight:500; line-height:1.6em; }
.collection-hero__text { margin:0; color:var(--color-body); }
.collection-block { max-width:var(--content-width); margin:0 auto var(--space-100); padding:0 var(--work-gutter); }
.collection-block__title { margin:0 0 var(--space-40); text-align:center; font-size:var(--font-size-28); line-height: 1.35em; font-weight:400; letter-spacing:0.02em; color:var(--color-accent); }
.collection-block__title strong {display: block; font-size: var(--font-size-15); line-height: 1.5em; margin-bottom: var(--space-20);}
.collection-swiper { position:relative; max-width:1200px; margin:0 auto; padding:0 var(--space-56) var(--space-40); overflow:hidden; }
.collection-swiper:has(.swiper-button-lock) { padding-left:0; padding-right:0; }
.collection-swiper .swiper-wrapper { align-items:stretch; }
.collection-swiper .swiper-slide { width:auto; height:auto; box-sizing:border-box; }
.collection-card { display:block; min-height:0; padding:0; background:transparent; }
.collection-card__link { display:block; position:relative; overflow:hidden; color:inherit; text-decoration:none; }
.collection-card__media { margin:0; aspect-ratio:3 / 4; background:#d9d9d9; overflow:hidden; }
.collection-swiper[data-collection-group="collection-gourmet"] .collection-card__media { aspect-ratio:4 / 3; }
.collection-card__media img { display:block; width:100%; height:100%; object-fit:cover; }
.collection-page .collection-card__overlay { display:none; }
.collection-card__name { margin:0; font-size:var(--font-size-24); font-weight:500; line-height:1.4em; color:var(--color-title); }
.collection-card p { margin:var(--space-8) 0 0; font-family:var(--font-en); font-size:var(--font-size-13); letter-spacing:0.08em; color:var(--color-accent-soft); }
.collection-swiper__pagination { position:relative; z-index:2; display:flex; justify-content:center; gap:var(--space-12); margin-top:var(--space-28); }
.collection-swiper__pagination .swiper-pagination-bullet { width:10px; height:10px; margin:0; border:1px solid var(--color-accent); background:transparent; opacity:1; }
.collection-swiper__pagination .swiper-pagination-bullet-active { background:var(--color-accent); }
.collection-swiper__prev.swiper-button-lock, .collection-swiper__next.swiper-button-lock { display:none; }
.collection-swiper__prev, .collection-swiper__next { position:absolute; top:42%; z-index:3; width:44px; height:44px; margin:0; padding:0; border:0; background:transparent; color:#fff; transform:translateY(-50%); cursor:pointer; filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45)); }
.collection-swiper__prev { left:0; }
.collection-swiper__next { right:0; }
.collection-swiper__prev::before, .collection-swiper__next::before { content:""; display:block; width:16px; height:16px; margin:0 auto; border-top:2px solid currentColor; border-right:2px solid currentColor; }
.collection-swiper__prev::before { transform:rotate(-135deg); }
.collection-swiper__next::before { transform:rotate(45deg); }
.collection-swiper__prev.swiper-button-disabled, .collection-swiper__next.swiper-button-disabled { opacity:0.35; pointer-events:none; }

.single-board { display:flex; flex-direction:column; gap:0 clamp(36px, 5vw, 72px); max-width:var(--content-width); margin:0 auto; padding:var(--space-28) var(--work-gutter) var(--space-100); }
.single-board__row { display:grid; grid-template-columns:50% 1fr; align-items:center; }
.single-board__row--flip {grid-template-columns:1fr 50%;}
.single-board__row--flip .single-board__media { order:2; }
.single-board__row--flip .single-board__body {margin-left: auto;}
.single-board__media { position:relative; aspect-ratio:3 / 2; overflow:hidden; background:#d9d9d9; }
.single-board__slider { width:100%; height:100%; }
.single-board__slider .swiper-wrapper { height:100%; }
.single-board__slider .swiper-slide { height:100%; }
.single-board__slider .img { width:100%; height:100%; margin:0; }
.single-board__slider .img img { display:block; width:100%; height:100%; object-fit:cover; }
.single-board__nav { position:absolute; top:50%; z-index:2; width:44px; height:44px; margin:0; padding:0; border:0; background:transparent; color:#fff; transform:translateY(-50%); cursor:pointer; filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45)); }
.single-board__nav--prev { left:var(--space-12); }
.single-board__nav--next { right:var(--space-12); }
.single-board__nav::before { content:""; display:block; width:16px; height:16px; margin:0 auto; border-top:2px solid currentColor; border-right:2px solid currentColor; }
.single-board__nav--prev::before { transform:rotate(-135deg); }
.single-board__nav--next::before { transform:rotate(45deg); }
.single-board__slider.is-single .single-board__nav { display:none; }
.single-board__nav.swiper-button-disabled { opacity:0.35; pointer-events:none; }
.single-board__body {padding: var(--space-40) clamp(28px, 4vw, 72px);}
.single-board__body h2 { margin:0 0 var(--space-28); font-size:var(--font-size-34); font-family: var(--font-en); font-weight:600; line-height:1.4; letter-spacing:-0.03em; color:var(--color-accent); text-align:left; text-indent: -1.8em; padding-left: 1.8em;}
.single-board__body ul { margin:0 0 var(--space-28); padding:0 0 0 1.15em; list-style:disc; text-align:left; color:var(--color-accent); }
.single-board__body li { margin:0 0 var(--space-8); font-size:var(--font-size-18); line-height:1.55; }
.single-board__btn { font-family:var(--font-ko); font-size:var(--font-size-14); font-weight:500; letter-spacing:-0.02em; text-transform:none; }

.page-venue-hall .ed-hero__cap { margin-bottom:var(--space-28); }
.page-venue-hall .ed-hero__title { font-family:var(--font-ko); font-size:var(--font-size-48); font-weight:600; letter-spacing:-0.04em; line-height:1.3; }
.page-venue-hall .ed-hero__lead { margin-top:var(--space-8); font-size:var(--font-size-20); font-weight:600; line-height:1.5; color:var(--color-title); }
.page-venue-hall .ed-hero__desc { margin:var(--space-16) auto 0; font-size:var(--font-size-15); line-height:1.8; color:var(--color-muted); }
.venue-plan:not(:has(img)) { display:none; }
.venue-plan { max-width:860px; margin:var(--space-36) auto var(--space-28); }
.venue-plan img { display:block; width:100%; height:auto; }
.venue-vr { display:flex; justify-content:center; margin:0 0 var(--space-48); }