@charset "utf-8";
/* 웨딩홀형 2 (wedding2) — 메종 에디션: 낮의 빛 · 아이보리 매거진 · 에메랄드 그린 + 샴페인 골드 · 큰 이탤릭 세리프 · 아치 사진 */
:root{
  --mw-ink:#1c2622; --mw-body:#55605b; --mw-mut:#8d958f; --mw-line:#e4ded2; --mw-ivory:#faf7f0; --mw-cream:#f2ecdf;
  --mw-green:#1f4d3f; --mw-green-d:#12302a; --mw-green-l:#2f6b58;
  --mw-gold:#b08d57; --mw-gold-l:#d8c29b; --mw-gold-d:#8a6c3f;
  --mw-en:"Cormorant Garamond", "Noto Serif KR", serif;
  --mw-serif:"Noto Serif KR", "Nanum Myeongjo", serif;
  --mw-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --mw-fixedh:84px;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:var(--mw-fixedh); }
body{ margin:0; background:var(--mw-ivory); color:var(--mw-ink); font-family:var(--mw-sans); font-size:16px; line-height:1.75; word-break:keep-all; -webkit-text-size-adjust:100%; }
a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; height:auto; }
h1,h2,h3,h4{ margin:0; font-size:inherit; font-weight:inherit; }
ul,ol,dl,dd,p,figure{ margin:0; padding:0; }
ul,ol{ list-style:none; }
button{ font:inherit; cursor:pointer; }
em{ font-style:normal; }
.mw-wrap{ width:100%; max-width:1280px; margin:0 auto; padding:0 28px; }
.mw-skip{ position:absolute; left:-9999px; top:0; z-index:999; padding:10px 16px; background:var(--mw-green); color:#fff; }
.mw-skip:focus{ left:10px; }
.mw-ico{ width:1.15em; height:1.15em; flex:none; }
.mw-empty{ padding:24px; border:1px dashed var(--mw-line); text-align:center; color:var(--mw-mut); }
#mw-main [hidden], .mw-drawer[hidden]{ display:none !important; }

.mw-rv{ opacity:0; transform:translateY(30px); transition:opacity 1s ease, transform 1s cubic-bezier(.2,.7,.2,1); }
.mw-rv.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .mw-rv{ opacity:1; transform:none; transition:none; } html{ scroll-behavior:auto; } }

/* 버튼 */
.mw-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; height:52px; padding:0 28px; border:1px solid transparent; border-radius:999px; font-size:15px; font-weight:600; letter-spacing:-.01em; transition:.25s; white-space:nowrap; }
.mw-btn--sm{ height:42px; padding:0 20px; font-size:14px; }
.mw-btn--ink{ background:var(--mw-green); color:#fff; }
.mw-btn--ink:hover{ background:var(--mw-green-d); }
.mw-btn--line{ border-color:var(--mw-ink); color:var(--mw-ink); background:transparent; }
.mw-btn--line:hover{ background:var(--mw-ink); color:#fff; }
.mw-btn--light{ background:var(--mw-ivory); color:var(--mw-green-d); }
.mw-btn--light:hover{ background:#fff; }
.mw-btn--ghost{ border-color:rgba(255,255,255,.45); color:#fff; }
.mw-btn--ghost:hover{ background:rgba(255,255,255,.1); }
.mw-more{ display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:600; color:var(--mw-green); border-bottom:1px solid currentColor; padding-bottom:2px; }
.mw-more .mw-ico{ transition:transform .25s; }
.mw-more:hover .mw-ico{ transform:translateX(4px); }

/* 데모 띠 */
.mw-demo{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:4px 18px; padding:8px 16px; background:var(--mw-green-d); color:rgba(255,255,255,.8); font-size:12.5px; }
.mw-demo b{ color:#fff; }
.mw-demo a{ color:var(--mw-gold-l); font-weight:600; }

/* 헤더 */
.mw-fixed{ position:fixed; left:0; right:0; top:0; z-index:100; transition:background .3s, box-shadow .3s; }
.mw-fixed.is-solid{ background:rgba(250,247,240,.94); backdrop-filter:blur(10px); box-shadow:0 1px 0 var(--mw-line); }
.mw-fixed:not(.is-main){ background:var(--mw-ivory); box-shadow:0 1px 0 var(--mw-line); }
.mw-header__in{ display:flex; align-items:center; gap:28px; height:84px; }
.mw-logo{ display:inline-flex; flex-direction:column; line-height:1; color:var(--mw-ink); }
.mw-logo strong{ font-family:var(--mw-en); font-size:30px; font-weight:500; font-style:italic; letter-spacing:.01em; }
.mw-logo small{ margin-top:5px; font-family:var(--mw-en); font-size:11.5px; letter-spacing:.32em; text-transform:uppercase; color:var(--mw-gold-d); }
.mw-logo--light{ color:#fff; }
.mw-logo--light small{ color:var(--mw-gold-l); }
.mw-gnb{ flex:1; }
.mw-gnb > ul{ display:flex; justify-content:center; gap:4px; }
.mw-gnb li{ position:relative; }
.mw-gnb > ul > li > a{ display:block; padding:30px 16px; font-size:15.5px; font-weight:500; color:var(--mw-ink); }
.mw-gnb > ul > li > a::after{ content:""; display:block; height:1px; margin-top:4px; background:var(--mw-gold); transform:scaleX(0); transition:transform .3s; }
.mw-gnb > ul > li:hover > a::after, .mw-gnb > ul > li:focus-within > a::after{ transform:scaleX(1); }
.mw-gnb li ul{ position:absolute; left:50%; top:100%; min-width:180px; padding:12px 0; background:#fff; border:1px solid var(--mw-line); box-shadow:0 18px 40px rgba(28,38,34,.08); transform:translate(-50%,8px); opacity:0; visibility:hidden; transition:.25s; }
.mw-gnb li:hover > ul, .mw-gnb li:focus-within > ul{ opacity:1; visibility:visible; transform:translate(-50%,0); }
.mw-gnb li ul a{ display:block; padding:9px 22px; font-size:14.5px; color:var(--mw-body); white-space:nowrap; }
.mw-gnb li ul a:hover{ color:var(--mw-green); background:var(--mw-ivory); }
.mw-gnb__empty{ font-size:14px; color:var(--mw-mut); text-align:center; }
.mw-gnb__empty a{ color:var(--mw-green); text-decoration:underline; }
.mw-header__act{ display:flex; align-items:center; gap:16px; }
.mw-header__tel{ display:inline-flex; align-items:center; gap:6px; font-family:var(--mw-en); font-size:19px; font-weight:600; color:var(--mw-ink); }
.mw-burger{ display:none; width:44px; height:44px; padding:0; border:0; background:none; position:relative; }
.mw-burger span{ position:absolute; left:10px; right:10px; height:1.5px; background:var(--mw-ink); }
.mw-burger span:first-child{ top:17px; }
.mw-burger span:last-child{ top:26px; right:16px; }

/* 전체 메뉴 */
.mw-drawer{ position:fixed; inset:0; z-index:300; background:rgba(18,48,42,.45); }
.mw-drawer__panel{ position:absolute; right:0; top:0; bottom:0; width:min(420px,88vw); display:flex; flex-direction:column; background:var(--mw-ivory); overflow-y:auto; }
.mw-drawer__top{ display:flex; align-items:center; justify-content:space-between; padding:22px 24px; border-bottom:1px solid var(--mw-line); }
.mw-drawer__close{ width:40px; height:40px; border:0; background:none; font-size:20px; color:var(--mw-ink); }
.mw-drawer__menu{ flex:1; padding:14px 24px; }
.mw-drawer__menu > li{ border-bottom:1px solid var(--mw-line); }
.mw-drawer__menu > li > a{ display:block; padding:16px 0; font-family:var(--mw-serif); font-size:18px; color:var(--mw-ink); }
.mw-drawer__menu ul{ padding:0 0 14px 12px; }
.mw-drawer__menu ul a{ display:block; padding:6px 0; font-size:15px; color:var(--mw-body); }
.mw-drawer__foot{ display:grid; gap:8px; padding:20px 24px 28px; }
.mw-drawer__foot a{ display:flex; align-items:center; gap:8px; justify-content:center; height:50px; border-radius:999px; background:var(--mw-green); color:#fff; font-weight:600; }
.mw-drawer__foot a:first-child{ background:none; border:1px solid var(--mw-ink); color:var(--mw-ink); }

/* 공통 머리 */
.mw-sec{ padding:130px 0; }
.mw-head{ max-width:760px; margin:0 auto 60px; text-align:center; }
.mw-head__en{ font-family:var(--mw-en); font-style:italic; font-size:22px; color:var(--mw-gold-d); letter-spacing:.01em; }
.mw-head h2{ margin-top:10px; font-family:var(--mw-serif); font-weight:300; font-size:clamp(28px,3.4vw,44px); line-height:1.4; letter-spacing:-.03em; color:var(--mw-ink); }
.mw-head h2 em{ display:inline; font-weight:500; color:var(--mw-green); }
.mw-head > p:last-child:not(.mw-head__en){ margin-top:18px; color:var(--mw-body); font-size:16.5px; }
.mw-head--left{ margin:0 0 36px; text-align:left; }
.mw-head--row{ max-width:none; display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:24px; text-align:left; }
.mw-head--light .mw-head__en{ color:var(--mw-gold-l); }
.mw-head--light h2{ color:#fff; }
.mw-head--light h2 em{ color:var(--mw-gold-l); }
.mw-head--light > p:last-child:not(.mw-head__en){ color:rgba(255,255,255,.72); }

/* 1. 첫 화면 */
.mw-hero{ padding:calc(var(--mw-fixedh) + 40px) 0 90px; background:linear-gradient(180deg,var(--mw-cream) 0%,var(--mw-ivory) 70%); overflow:hidden; }
.mw-hero__in{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:70px; align-items:center; }
.mw-hero__en{ font-family:var(--mw-en); font-style:italic; font-size:26px; color:var(--mw-gold-d); }
.mw-hero__head{ margin-top:14px; font-family:var(--mw-serif); font-weight:300; font-size:clamp(34px,4.6vw,62px); line-height:1.32; letter-spacing:-.045em; color:var(--mw-ink); }
.mw-hero__desc{ margin-top:22px; max-width:440px; font-size:17px; color:var(--mw-body); }
.mw-check{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr) minmax(0,1.1fr) auto; gap:0; margin-top:44px; background:#fff; border:1px solid var(--mw-line); border-radius:22px; box-shadow:0 24px 60px rgba(28,38,34,.08); overflow:hidden; }
.mw-check__t{ grid-column:1/-1; padding:14px 22px 0; font-size:12.5px; font-weight:700; letter-spacing:.08em; color:var(--mw-gold-d); }
.mw-check label{ display:flex; flex-direction:column; gap:4px; padding:10px 18px 16px 22px; border-right:1px solid var(--mw-line); }
.mw-check label span{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:var(--mw-mut); }
.mw-check input, .mw-check select{ width:100%; border:0; padding:0; background:none; font:inherit; font-size:15.5px; font-weight:600; color:var(--mw-ink); outline:0; min-height:26px; }
.mw-check .mw-btn{ margin:10px; height:auto; border-radius:14px; }
.mw-hero__pic{ position:relative; aspect-ratio:4/5; max-height:min(760px,calc(100vh - 140px)); width:100%; border-radius:999px 999px 18px 18px; overflow:hidden; background:var(--mw-cream); justify-self:end; }
.mw-hero__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.06); transition:opacity 1.6s ease, transform 7s linear; }
.mw-hero__img.is-on{ opacity:1; transform:scale(1); }
.mw-hero__cap{ position:absolute; left:22px; bottom:20px; padding:8px 16px; border-radius:999px; background:rgba(250,247,240,.9); font-size:13px; color:var(--mw-ink); }
.mw-hero__cap em{ font-family:var(--mw-en); font-style:italic; font-size:15px; color:var(--mw-gold-d); margin-right:6px; }

/* 2. 공지 */
.mw-notice{ border-top:1px solid var(--mw-line); border-bottom:1px solid var(--mw-line); background:#fff; }
.mw-notice__in{ display:flex; align-items:center; gap:18px; height:62px; font-size:15px; }
.mw-notice b{ font-family:var(--mw-en); font-style:italic; font-size:18px; font-weight:500; color:var(--mw-gold-d); }
.mw-notice__in > a:nth-of-type(1){ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--mw-ink); }
.mw-notice time{ font-size:13.5px; color:var(--mw-mut); }
.mw-notice__all{ display:inline-flex; align-items:center; gap:4px; font-size:13.5px; color:var(--mw-green); }

/* 3. 약속 */
.mw-promise__list{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--mw-ink); }
.mw-promise__list li{ position:relative; padding:40px 36px 10px; border-right:1px solid var(--mw-line); }
.mw-promise__list li:last-child{ border-right:0; }
.mw-promise__no{ font-family:var(--mw-en); font-size:15px; color:var(--mw-mut); letter-spacing:.1em; }
.mw-promise__num{ margin-top:10px; font-family:var(--mw-serif); font-size:18px; color:var(--mw-green); }
.mw-promise__num b{ font-family:var(--mw-en); font-style:italic; font-weight:500; font-size:84px; line-height:1; margin-right:4px; }
.mw-promise__list h3{ margin-top:18px; font-family:var(--mw-serif); font-size:21px; font-weight:500; }
.mw-promise__list p:last-child{ margin-top:10px; font-size:15px; color:var(--mw-body); }

/* 4. 홀 탭 */
.mw-halls{ background:#fff; }
.mw-tabs{ display:inline-flex; padding:5px; border:1px solid var(--mw-line); border-radius:999px; background:var(--mw-ivory); }
.mw-tabs button{ display:inline-flex; align-items:baseline; gap:6px; padding:11px 20px; border:0; border-radius:999px; background:none; font-size:15px; color:var(--mw-body); transition:.25s; }
.mw-tabs button small{ font-family:var(--mw-en); font-size:13px; color:var(--mw-mut); }
.mw-tabs button[aria-selected=true]{ background:var(--mw-green); color:#fff; }
.mw-tabs button[aria-selected=true] small{ color:var(--mw-gold-l); }
.mw-hall{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:64px; align-items:center; animation:mwFade .6s ease; }
@keyframes mwFade{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
.mw-hall__pic{ aspect-ratio:4/3; border-radius:18px; overflow:hidden; background:var(--mw-cream); }
.mw-hall__pic img{ width:100%; height:100%; object-fit:cover; }
.mw-hall__en{ font-family:var(--mw-en); font-style:italic; font-size:19px; color:var(--mw-gold-d); }
.mw-hall__body h3{ margin-top:8px; font-family:var(--mw-serif); font-size:clamp(28px,3vw,38px); font-weight:400; letter-spacing:-.03em; }
.mw-hall__desc{ margin-top:14px; color:var(--mw-body); }
.mw-hall__spec{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:28px; border-top:1px solid var(--mw-line); }
.mw-hall__spec div{ padding:18px 0 16px; border-bottom:1px solid var(--mw-line); }
.mw-hall__spec div:nth-child(odd){ padding-right:18px; border-right:1px solid var(--mw-line); }
.mw-hall__spec div:nth-child(even){ padding-left:22px; }
.mw-hall__spec dt{ font-size:13px; color:var(--mw-mut); }
.mw-hall__spec dd{ margin-top:4px; font-size:15px; color:var(--mw-ink); }
.mw-hall__spec dd b{ font-family:var(--mw-en); font-size:34px; font-weight:500; line-height:1; margin-right:3px; color:var(--mw-green); }
.mw-hall__spec dd small{ font-size:12px; color:var(--mw-mut); }
.mw-hall__meal{ margin-top:16px; font-size:14px; color:var(--mw-body); }
.mw-hall__btns{ display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }

/* 5. 예식 당일 흐름 */
.mw-day{ background:var(--mw-ivory); }
.mw-day__list{ position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:26px; padding-top:34px; }
.mw-day__list::before{ content:""; position:absolute; left:0; right:0; top:7px; height:1px; background:var(--mw-gold-l); }
.mw-day__list li{ position:relative; }
.mw-day__list li::before{ content:""; position:absolute; left:0; top:-34px; width:15px; height:15px; border-radius:50%; background:var(--mw-ivory); border:1px solid var(--mw-gold); }
.mw-day__list li::after{ content:""; position:absolute; left:5px; top:-29px; width:5px; height:5px; border-radius:50%; background:var(--mw-gold); }
.mw-day__t{ font-family:var(--mw-en); font-style:italic; font-size:19px; color:var(--mw-gold-d); }
.mw-day__list img{ width:100%; aspect-ratio:3/4; object-fit:cover; margin:14px 0 18px; border-radius:999px 999px 12px 12px; }
.mw-day__list li:not(.has-pic) h3{ margin-top:14px; }
.mw-day__list h3{ font-family:var(--mw-serif); font-size:19px; font-weight:500; }
.mw-day__list p:last-child{ margin-top:8px; font-size:14.5px; color:var(--mw-body); }
.mw-day__list li:not(.has-pic){ padding:22px 20px; margin-top:14px; background:#fff; border:1px solid var(--mw-line); border-radius:16px; align-self:start; }

/* 6. 가격 · 견적 */
.mw-price{ background:var(--mw-green-d); color:#fff; }
.mw-price__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:40px; align-items:start; }
.mw-calc{ padding:40px; background:var(--mw-ivory); color:var(--mw-ink); border-radius:24px; }
.mw-calc h3{ font-family:var(--mw-serif); font-size:24px; font-weight:500; }
.mw-calc__f{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:24px; }
.mw-calc__f label{ display:flex; flex-direction:column; gap:6px; font-size:13.5px; color:var(--mw-body); }
.mw-calc__f .is-wide{ grid-column:1/-1; }
.mw-calc__f select{ height:48px; padding:0 14px; border:1px solid var(--mw-line); border-radius:12px; background:#fff; font:inherit; font-size:15px; color:var(--mw-ink); }
.mw-calc__f output{ font-family:var(--mw-en); font-size:22px; font-weight:600; color:var(--mw-green); }
.mw-calc__f input[type=range]{ width:100%; accent-color:var(--mw-green); }
.mw-calc__res{ margin-top:26px; border-top:1px solid var(--mw-line); }
.mw-calc__res div{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:14px 0; border-bottom:1px solid var(--mw-line); }
.mw-calc__res dt{ font-size:14.5px; color:var(--mw-body); }
.mw-calc__res dt small{ display:block; font-size:12.5px; color:var(--mw-mut); }
.mw-calc__res dd{ font-size:17px; font-weight:600; }
.mw-calc__res .is-total{ border-bottom:0; }
.mw-calc__res .is-total dt{ font-weight:700; color:var(--mw-ink); }
.mw-calc__res .is-total dd{ font-family:var(--mw-en); font-size:34px; font-weight:600; color:var(--mw-green); }
.mw-calc__note{ margin-top:8px; padding:12px 14px; border-radius:10px; background:#fff3de; color:#8a5a12; font-size:14px; }
.mw-calc__rule{ margin-top:12px; font-size:13px; color:var(--mw-mut); }
.mw-price__side h4{ margin:34px 0 14px; font-family:var(--mw-serif); font-size:19px; font-weight:500; color:var(--mw-gold-l); }
.mw-price__tbl{ overflow-x:auto; border-radius:18px; border:1px solid rgba(255,255,255,.15); }
.mw-price__tbl table{ width:100%; min-width:520px; border-collapse:collapse; font-size:15px; }
.mw-price__tbl th, .mw-price__tbl td{ padding:16px 18px; text-align:right; border-bottom:1px solid rgba(255,255,255,.1); white-space:nowrap; }
.mw-price__tbl thead th{ font-size:13px; font-weight:500; color:rgba(255,255,255,.55); }
.mw-price__tbl tbody th{ text-align:left; font-family:var(--mw-serif); font-weight:500; }
.mw-price__tbl tbody tr:last-child > *{ border-bottom:0; }
.mw-price__tbl thead th:first-child{ text-align:left; }
.mw-incl{ display:flex; flex-wrap:wrap; gap:8px; }
.mw-incl li{ display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.08); font-size:14px; }
.mw-incl .mw-ico{ color:var(--mw-gold-l); }
.mw-price__note{ margin-top:22px; }
.mw-price__note li{ position:relative; padding-left:14px; font-size:13.5px; color:rgba(255,255,255,.6); }
.mw-price__note li::before{ content:"·"; position:absolute; left:2px; }

/* 7. 식사 */
.mw-dining{ background:#fff; }
.mw-dining__list{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:34px; align-items:end; }
.mw-dish__pic{ aspect-ratio:4/3; border-radius:18px; overflow:hidden; }
.mw-dish:nth-child(2) .mw-dish__pic{ aspect-ratio:1/1; }
.mw-dish__pic img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s; }
.mw-dish:hover .mw-dish__pic img{ transform:scale(1.04); }
.mw-dish__body{ padding:26px 4px 0; }
.mw-dish__body span{ font-family:var(--mw-en); font-style:italic; font-size:18px; color:var(--mw-gold-d); }
.mw-dish__body h3{ margin-top:4px; font-family:var(--mw-serif); font-size:24px; font-weight:500; }
.mw-dish__body p{ margin-top:8px; color:var(--mw-body); }
.mw-dish__body b{ display:inline-block; margin-top:12px; font-weight:600; color:var(--mw-green); }

/* 8. 스냅 + 프로모션 */
.mw-journal__in{ display:grid; grid-template-columns:minmax(0,2.1fr) minmax(0,1fr); gap:34px; align-items:start; }
.mw-snap{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.mw-snap li:first-child{ grid-column:span 2; grid-row:span 2; }
.mw-snap a{ position:relative; display:block; aspect-ratio:1/1; overflow:hidden; border-radius:12px; background:var(--mw-cream); }
.mw-snap li:first-child a{ height:100%; }
.mw-snap img{ width:100%; height:100%; object-fit:cover; transition:transform 1s; }
.mw-snap a:hover img{ transform:scale(1.05); }
.mw-snap span{ position:absolute; left:0; right:0; bottom:0; padding:30px 14px 12px; background:linear-gradient(transparent,rgba(18,48,42,.72)); color:#fff; font-size:13px; opacity:0; transition:.3s; }
.mw-snap a:hover span, .mw-snap a:focus span{ opacity:1; }
.mw-event{ padding:26px; background:#fff; border:1px solid var(--mw-line); border-radius:20px; }
.mw-event__t{ font-family:var(--mw-en); font-style:italic; font-size:22px; color:var(--mw-gold-d); margin-bottom:12px; }
.mw-event > a:not(.mw-more){ display:grid; grid-template-columns:96px minmax(0,1fr); gap:14px; align-items:center; padding:14px 0; border-top:1px solid var(--mw-line); }
.mw-event img{ width:96px; aspect-ratio:1/1; object-fit:cover; border-radius:10px; }
.mw-event em{ display:block; font-size:12.5px; color:var(--mw-mut); }
.mw-event strong{ display:block; margin-top:2px; font-size:15px; font-weight:600; line-height:1.5; color:var(--mw-ink); }
.mw-event > a:hover strong{ color:var(--mw-green); }
.mw-event .mw-more{ margin-top:14px; }

/* 9. 상담 */
.mw-consult{ background:var(--mw-cream); }
.mw-consult__in{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:60px; align-items:start; }
.mw-faq details{ border-top:1px solid rgba(28,38,34,.14); }
.mw-faq details:last-child{ border-bottom:1px solid rgba(28,38,34,.14); }
.mw-faq summary{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 0; list-style:none; cursor:pointer; }
.mw-faq summary::-webkit-details-marker{ display:none; }
.mw-faq h3{ font-size:16px; font-weight:600; }
.mw-faq summary .mw-ico{ transition:transform .3s; color:var(--mw-gold-d); }
.mw-faq details[open] summary .mw-ico{ transform:rotate(180deg); }
.mw-faq details p{ padding:0 0 20px; font-size:15px; color:var(--mw-body); }
.mw-consult__tel{ display:flex; align-items:center; gap:16px; margin-top:30px; padding:22px 24px; border-radius:18px; background:var(--mw-green); color:#fff; }
.mw-consult__tel > .mw-ico{ width:26px; height:26px; color:var(--mw-gold-l); }
.mw-consult__tel span{ display:flex; flex-direction:column; font-size:14px; }
.mw-consult__tel b{ font-family:var(--mw-en); font-size:28px; font-weight:600; line-height:1.2; }
.mw-consult__tel small{ color:rgba(255,255,255,.65); }
.mw-form{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 20px; padding:42px; background:#fff; border-radius:26px; box-shadow:0 30px 70px rgba(28,38,34,.08); }
.mw-form .is-wide{ grid-column:1/-1; }
.mw-form__row{ display:flex; flex-direction:column; gap:7px; }
.mw-form__row > label, .mw-form__lb{ font-size:14px; font-weight:600; color:var(--mw-ink); }
.mw-form__row b, .mw-form__lb b{ color:#c0392b; }
.mw-form input[type=text], .mw-form input[type=tel], .mw-form input[type=date], .mw-form select, .mw-form textarea{ width:100%; min-height:50px; padding:12px 14px; border:1px solid var(--mw-line); border-radius:12px; background:var(--mw-ivory); font:inherit; font-size:15px; color:var(--mw-ink); }
.mw-form textarea{ resize:vertical; }
.mw-form input:focus, .mw-form select:focus, .mw-form textarea:focus{ outline:2px solid var(--mw-green-l); outline-offset:0; border-color:transparent; background:#fff; }
.mw-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.mw-chips label{ position:relative; }
.mw-chips input{ position:absolute; opacity:0; inset:0; }
.mw-chips span{ display:inline-flex; align-items:center; height:42px; padding:0 18px; border:1px solid var(--mw-line); border-radius:999px; font-size:14.5px; color:var(--mw-body); cursor:pointer; transition:.2s; }
.mw-chips input:checked + span{ background:var(--mw-green); border-color:var(--mw-green); color:#fff; }
.mw-chips input:focus-visible + span{ outline:2px solid var(--mw-gold); outline-offset:2px; }
.mw-form__captcha #captcha{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.mw-form__captcha #captcha_key{ width:130px !important; min-height:44px; border:1px solid var(--mw-line); border-radius:10px; padding:0 12px; }
.mw-form__agree{ font-size:14px; color:var(--mw-body); }
.mw-form__agree a{ color:var(--mw-green); text-decoration:underline; }
.mw-form__err{ padding:12px 14px; border-radius:10px; background:#fdecea; color:#b0271d; font-size:14px; }
.mw-form__done{ grid-column:1/-1; display:flex; align-items:center; gap:8px; padding:14px 16px; border-radius:12px; background:#e7f2ed; color:var(--mw-green); font-weight:600; }
.mw-form__submit{ height:58px; font-size:16px; }

/* 10. 오시는 길 */
.mw-visit{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:var(--mw-green); color:#fff; }
.mw-visit__pic{ min-height:520px; background:var(--mw-green-d); }
.mw-visit__pic img{ width:100%; height:100%; object-fit:cover; }
.mw-visit__info{ padding:90px clamp(28px,6vw,100px); align-self:center; }
.mw-visit__info .mw-head__en{ color:var(--mw-gold-l); }
.mw-visit__info h2{ margin-top:8px; font-family:var(--mw-serif); font-size:clamp(28px,3vw,40px); font-weight:300; }
.mw-visit__addr{ display:flex; gap:8px; margin-top:18px; font-size:16px; color:rgba(255,255,255,.85); }
.mw-visit__addr .mw-ico{ margin-top:5px; color:var(--mw-gold-l); }
.mw-visit__way{ margin-top:28px; border-top:1px solid rgba(255,255,255,.18); }
.mw-visit__way li{ display:flex; gap:14px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.18); font-size:15px; color:rgba(255,255,255,.8); }
.mw-visit__way .mw-ico{ width:22px; height:22px; margin-top:2px; color:var(--mw-gold-l); }
.mw-visit__way b{ display:block; color:#fff; font-weight:600; }
.mw-visit__btns{ display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }

/* 푸터 */
.mw-footer{ padding:80px 0 40px; background:var(--mw-green-d); color:rgba(255,255,255,.65); font-size:14px; }
.mw-footer__top{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:30px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.12); }
.mw-footer__desc{ margin-top:14px; font-family:var(--mw-serif); font-size:15px; color:rgba(255,255,255,.7); }
.mw-footer__call{ text-align:right; }
.mw-footer__call p{ font-size:13px; letter-spacing:.06em; color:var(--mw-gold-l); }
.mw-footer__call a{ display:block; font-family:var(--mw-en); font-size:40px; font-weight:500; line-height:1.2; color:#fff; }
.mw-footer__menu{ display:flex; flex-wrap:wrap; gap:6px 26px; padding:26px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.mw-footer__menu a{ color:#fff; font-size:15px; }
.mw-footer__mid{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; padding:26px 0; }
.mw-footer__co p{ margin:2px 0; }
.mw-footer__bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); font-size:13px; }
.mw-footer__bottom ul{ display:flex; gap:18px; }
.mw-footer__bottom b{ color:#fff; }

/* 모바일 퀵바 */
.mw-quick{ display:none; }

/* 서브 페이지 */
.mw-sbanner{ padding:calc(var(--mw-fixedh) + 30px) 0 0; background:var(--mw-cream); }
.mw-sbanner__in{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:40px; align-items:end; }
.mw-sbanner__in > div{ padding-bottom:40px; }
.mw-sbanner__en{ font-family:var(--mw-en); font-style:italic; font-size:22px; color:var(--mw-gold-d); }
.mw-sbanner h1{ margin-top:6px; font-family:var(--mw-serif); font-size:clamp(30px,3.8vw,48px); font-weight:300; letter-spacing:-.03em; color:var(--mw-ink); }
.mw-sbanner__img{ width:100%; height:240px; object-fit:cover; border-radius:999px 999px 0 0; }
.mw-stabs{ background:#fff; border-bottom:1px solid var(--mw-line); position:sticky; top:var(--mw-fixedh); z-index:50; }
.mw-stabs ul{ display:flex; justify-content:center; overflow-x:auto; scrollbar-width:none; }
.mw-stabs ul::-webkit-scrollbar{ display:none; }
.mw-stabs a{ display:block; padding:17px 22px; font-size:15px; color:var(--mw-body); white-space:nowrap; border-bottom:2px solid transparent; }
.mw-stabs a.is-on{ color:var(--mw-ink); font-weight:700; border-bottom-color:var(--mw-green); }
.mw-sub{ padding:80px 0 130px; min-height:50vh; background:var(--mw-ivory); }
#ctt > header{ display:none; }
#ctt_con{ font-size:16px; color:var(--mw-body); }

/* 내용관리 본문 부품 (팩의 co_content 가 쓰는 wdp-* 클래스 — wedding1 과 공유하는 마크업을 이 테마 톤으로) */
.wdp h3{ margin:0 0 16px; font-family:var(--mw-serif); font-size:clamp(24px,2.6vw,34px); font-weight:300; line-height:1.45; color:var(--mw-ink); letter-spacing:-.03em; }
.wdp h3 em{ font-style:normal; font-weight:500; color:var(--mw-green); }
.wdp h4{ margin:0 0 8px; font-size:18px; font-weight:700; color:var(--mw-ink); }
.wdp p{ margin:0 0 14px; line-height:1.9; }
.wdp-en{ display:block; margin-bottom:6px !important; font-family:var(--mw-en); font-style:italic; font-size:22px; color:var(--mw-gold-d); }
.wdp-sec{ margin-top:90px; }
.wdp-sec:first-child{ margin-top:0; }
.wdp-lead{ max-width:760px; margin:0 auto; text-align:center; }
.wdp-lead p{ font-size:17px; }
.wdp-split{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:60px; align-items:center; }
.wdp-split.is-rev > :first-child{ order:2; }
.wdp-split > .wdp-img{ border-radius:999px 999px 16px 16px; aspect-ratio:4/5; }
.wdp-img{ width:100%; object-fit:cover; border-radius:14px; }
.wdp-gallery{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.wdp-gallery img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.wdp-spec{ width:100%; border-collapse:collapse; border-top:1px solid var(--mw-ink); font-size:15.5px; background:#fff; }
.wdp-spec th, .wdp-spec td{ padding:15px 18px; border-bottom:1px solid var(--mw-line); text-align:left; }
.wdp-spec th{ width:30%; background:var(--mw-cream); color:var(--mw-ink); font-weight:600; }
.wdp-cards{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:0; padding:0; list-style:none; }
.wdp-cards li{ padding:30px 26px; background:#fff; border:1px solid var(--mw-line); border-radius:16px; }
.wdp-cards li b{ display:block; margin-bottom:6px; font-family:var(--mw-en); font-style:italic; font-size:24px; font-weight:500; color:var(--mw-green); }
.wdp-cards li p{ margin:0; font-size:15px; }
.wdp-note{ margin-top:22px; padding:16px 20px; border-radius:12px; background:var(--mw-cream); font-size:14.5px; color:var(--mw-ink); }
.wdp-cta{ display:flex; flex-wrap:wrap; gap:10px; margin-top:34px; }
.wdp-cta a{ display:inline-flex; align-items:center; height:52px; padding:0 28px; border-radius:999px; background:var(--mw-green); color:#fff !important; font-weight:600; text-decoration:none !important; }
.wdp-cta a + a{ background:none; border:1px solid var(--mw-ink); color:var(--mw-ink) !important; }
.hcp-sec h3{ margin:0 0 14px; font-family:var(--mw-serif); font-size:24px; font-weight:500; color:var(--mw-ink); }
.hcp-list{ padding-left:18px; list-style:disc; }

/* 반응형 */
@media (max-width:1200px){
  .mw-gnb > ul > li > a{ padding:30px 11px; font-size:15px; }
  .mw-header__tel{ display:none; }
}
@media (max-width:1024px){
  .mw-gnb, .mw-header__act .mw-btn{ display:none; }
  .mw-burger{ display:block; }
  .mw-header__in{ justify-content:space-between; height:70px; }
  :root{ --mw-fixedh:70px; }
  .mw-sec{ padding:96px 0; }
  .mw-hero__in{ grid-template-columns:minmax(0,1fr); gap:44px; }
  .mw-hero__pic{ max-height:none; aspect-ratio:4/4.2; max-width:620px; justify-self:center; }
  .mw-hall, .mw-price__grid, .mw-consult__in, .mw-journal__in, .wdp-split{ grid-template-columns:minmax(0,1fr); gap:34px; }
  .wdp-split.is-rev > :first-child{ order:0; }
  .mw-day__list{ grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:44px; }
  .mw-visit{ grid-template-columns:minmax(0,1fr); }
  .mw-visit__pic{ min-height:320px; }
  .mw-sbanner__in{ grid-template-columns:minmax(0,1fr); gap:0; }
  .mw-sbanner__img{ height:180px; }
  .mw-quick{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); position:fixed; left:0; right:0; bottom:0; z-index:90; background:rgba(250,247,240,.97); backdrop-filter:blur(8px); border-top:1px solid var(--mw-line); padding-bottom:env(safe-area-inset-bottom); }
  .mw-quick a, .mw-quick button{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; height:62px; border:0; background:none; font-size:12px; color:var(--mw-ink); }
  .mw-quick .is-key{ background:var(--mw-green); color:#fff; }
  .mw-quick .mw-ico{ width:20px; height:20px; }
  body{ padding-bottom:62px; }
}
@media (max-width:640px){
  body{ font-size:15px; }
  .mw-wrap{ padding:0 18px; }
  .mw-sec{ padding:76px 0; }
  .mw-head{ margin-bottom:40px; }
  .mw-demo{ font-size:11.5px; }
  .mw-demo span:nth-child(2){ display:none; }
  .mw-logo strong{ font-size:25px; }
  .mw-logo small{ font-size:10px; letter-spacing:.24em; }
  .mw-hero{ padding-bottom:60px; }
  .mw-hero__en{ font-size:21px; }
  .mw-check{ grid-template-columns:minmax(0,1fr); border-radius:18px; }
  .mw-check label{ border-right:0; border-bottom:1px solid var(--mw-line); }
  .mw-check .mw-btn{ height:52px; }
  .mw-notice__in{ gap:10px; font-size:14px; }
  .mw-notice time, .mw-notice__all{ display:none; }
  .mw-promise__list{ grid-template-columns:minmax(0,1fr); }
  .mw-promise__list li{ padding:30px 4px 26px; border-right:0; border-bottom:1px solid var(--mw-line); }
  .mw-promise__num b{ font-size:66px; }
  .mw-tabs{ display:flex; width:100%; }
  .mw-tabs button{ flex:1; flex-direction:column; align-items:center; gap:0; padding:9px 4px; font-size:14px; }
  .mw-hall__spec dd b{ font-size:28px; }
  .mw-hall__btns .mw-btn{ flex:1; padding:0 14px; }
  .mw-day__list{ grid-template-columns:minmax(0,1fr); gap:0; padding:0 0 0 30px; }
  .mw-day__list::before{ left:7px; right:auto; top:8px; bottom:8px; width:1px; height:auto; }
  .mw-day__list li{ padding-bottom:36px; }
  .mw-day__list li::before{ left:-30px; top:6px; }
  .mw-day__list li::after{ left:-25px; top:11px; }
  .mw-day__list img{ aspect-ratio:4/3; border-radius:14px; }
  .mw-day__list li:not(.has-pic){ margin:10px 0 36px; padding:18px; }
  .mw-calc{ padding:26px 20px; }
  .mw-calc__f{ grid-template-columns:minmax(0,1fr); }
  .mw-calc__res .is-total dd{ font-size:28px; }
  .mw-dining__list{ grid-template-columns:minmax(0,1fr); }
  .mw-dish:nth-child(2) .mw-dish__pic{ aspect-ratio:4/3; }
  .mw-snap{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mw-form{ grid-template-columns:minmax(0,1fr); padding:26px 18px; }
  .mw-visit__info{ padding:60px 20px; }
  .mw-footer__call{ text-align:left; }
  .mw-footer__call a{ font-size:32px; }
  .mw-sub{ padding:46px 0 80px; }
  .mw-sbanner__in > div{ padding-bottom:24px; }
  .mw-sbanner__img{ height:130px; }
  .wdp-gallery{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wdp-cards{ grid-template-columns:minmax(0,1fr); }
  .wdp-spec th{ width:38%; }
}
