/* ============================================================
   목멱산방 - 전역 스타일
   한옥/자연에서 영감을 받은 따뜻한 톤 (먹색 · 소나무 · 한지)
   ============================================================ */

:root {
  --ink: #1F1F1F;
  --ink-soft: #757575;
  --paper: #FFFFFF;
  --paper-2: #F7F7F4;
  --pine: #757575;
  --pine-deep: #757575;
  --clay: #B58A4B;
  --gold: #B58A4B;
  --line: #E4E4E0;
  --muted: #757575;
  --white: #FFFFFF;
  --shadow: 0 10px 40px rgba(31, 31, 31, 0.10);
  --serif: 'Noto Serif KR', serif;
  --sans: 'Noto Sans KR', sans-serif;
  --display: 'Cormorant Garamond', 'Noto Serif KR', serif;
  --maxw: 1200px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--sans);
  color: var(--ink);
  background: var(--paper);
  line-height: 1.75;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 600; line-height: 1.35; letter-spacing: -0.01em; }

.container { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }

/* ---------- 공통 섹션 ---------- */
.section { padding: 96px 0; }
.section-head { text-align: center; margin-bottom: 56px; }
.section-head .eyebrow {
  font-family: var(--display);
  font-size: 1.05rem; letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--clay); display: block; margin-bottom: 14px;
}
.section-head h2 { font-size: clamp(1.8rem, 3.5vw, 2.6rem); color: var(--ink); }
.section-head p { color: var(--muted); margin-top: 14px; font-size: 1.02rem; }
.divider-leaf { width: 46px; height: 2px; background: var(--pine); margin: 18px auto 0; position: relative; }
.divider-leaf::before { content: '\f06c'; font-family: 'Font Awesome 6 Free'; font-weight: 900; color: var(--pine); position: absolute; top: -12px; left: 50%; transform: translateX(-50%); font-size: 0.8rem; background: var(--paper); padding: 0 6px; }

/* ---------- 버튼 ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 14px 30px; border-radius: 2px; font-family: var(--sans);
  font-weight: 500; font-size: 0.98rem; letter-spacing: 0.02em;
  transition: all 0.25s ease; cursor: pointer; border: 1.5px solid transparent;
}
.btn-primary { background: var(--pine); color: #FFFFFF; }
.btn-primary:hover { background: var(--pine-deep); transform: translateY(-2px); box-shadow: var(--shadow); }
.btn-outline { border-color: var(--ink); color: var(--ink); background: transparent; }
.btn-outline:hover { background: var(--ink); color: var(--paper); }
.btn-light { border-color: rgba(255,255,255,0.8); color: #FFFFFF; }
.btn-light:hover { background: #FFFFFF; color: var(--ink); }

/* ============================================================
   헤더 / 내비게이션
   ============================================================ */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(255, 255, 255, 0.0);
  transition: background 0.35s ease, box-shadow 0.35s ease, padding 0.35s ease;
  padding: 8px 0;
}
.site-header.scrolled { background: rgba(255, 255, 255, 0.97); box-shadow: 0 2px 20px rgba(28,26,23,0.08); backdrop-filter: blur(6px); }
.header-inner {
  max-width: var(--maxw); margin: 0 auto; padding: 0 24px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.brand-logo { height: 46px; width: auto; transition: filter 0.35s ease; }
/* 초기(투명 헤더/히어로 위) 로고를 흰색으로 */
.site-header:not(.scrolled) .brand-logo { filter: brightness(0) invert(1); }

.main-nav ul { display: flex; gap: 34px; }
.main-nav a { display: flex; flex-direction: column; align-items: center; gap: 1px; font-size: 0.92rem; color: var(--ink); transition: color 0.25s; position: relative; padding: 6px 0; }
.site-header:not(.scrolled) .main-nav a { color: #FFFFFF; }
.main-nav .nav-en { font-family: var(--display); font-size: 1.02rem; letter-spacing: 0.08em; }
.main-nav .nav-ko { font-size: 0.72rem; opacity: 0.8; }
.main-nav a::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 0; height: 1.5px; background: var(--clay); transition: width 0.28s ease; }
.main-nav a:hover::after, .main-nav a.active::after { width: 100%; }

.nav-actions { display: flex; flex-direction: column; align-items: center; gap: 7px; }
.nav-reserve-btn,
.nav-instagram-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  padding: 10px 20px; background: var(--clay); color: #FFFFFF !important;
  border-radius: 2px; font-size: 0.88rem; font-weight: 500; transition: all 0.25s;
}
.nav-instagram-btn {
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 50%;
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.42);
  font-size: 1.1rem;
  backdrop-filter: blur(4px);
}

.nav-instagram-btn img {
  width: 21px;
  height: 21px;
  display: block;
  object-fit: contain;
}
.mobile-nav .mobile-instagram img {
  width: 20px;
  height: 20px;
  display: inline-block;
  object-fit: contain;
  vertical-align: -4px;
  margin-right: 6px;
}

.nav-instagram-btn span { display: none; }
.site-header.scrolled .nav-instagram-btn {
  background: #FFFFFF;
  color: var(--ink) !important;
  border-color: var(--line);
}
.nav-reserve-btn:hover { background: #B58A4B; transform: translateY(-1px); }
.nav-instagram-btn:hover { background: #B58A4B; border-color: #B58A4B; color: #FFFFFF !important; transform: translateY(-1px); }

.nav-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px; }
.nav-toggle span { width: 26px; height: 2px; background: var(--ink); transition: all 0.3s; }
.site-header:not(.scrolled) .nav-toggle span { background: #FFFFFF; }

.mobile-nav { display: none; }

/* ============================================================
   지점 선택 홈 - 헤더 아래 2분할 전체 화면
   ============================================================ */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.branch-selector {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 100vh;
  min-height: 100svh;
  background: #1F1F1F;
}
.branch-panel { position: relative; min-width: 0; overflow: hidden; color: #FFFFFF; }
.branch-panel__image {
  position: absolute; inset: 0; width: 100%; height: 100%; max-width: none;
  object-fit: cover; transition: transform 0.8s ease;
}
.branch-panel--main .branch-panel__image { object-position: 50% 54%; }
.branch-panel--tower .branch-panel__image { object-position: 50% 45%; }
.branch-panel__shade {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 52%, rgba(45,27,18,0.18) 70%, rgba(35,20,13,0.78) 100%);
}
.branch-panel__label {
  position: absolute; z-index: 1; left: clamp(24px, 4vw, 64px); right: clamp(24px, 4vw, 64px); bottom: clamp(34px, 6vh, 72px);
  display: flex; flex-direction: column; gap: 7px; text-shadow: 0 2px 20px rgba(23,12,7,0.45);
}
.branch-panel__label::before { content: ''; width: 42px; height: 1px; margin-bottom: 8px; background: #B58A4B; }
.branch-panel__label strong { font-family: var(--serif); font-size: clamp(1.65rem, 2.8vw, 2.6rem); font-weight: 500; letter-spacing: -0.02em; }
.branch-panel__label span { font-family: var(--display); font-size: clamp(0.72rem, 1vw, 0.9rem); letter-spacing: 0.16em; color: #FFFFFF; }
.branch-panel:hover .branch-panel__image,
.branch-panel:focus-visible .branch-panel__image { transform: scale(1.025); }
.branch-panel:focus-visible { outline: 2px solid #B58A4B; outline-offset: -5px; }
.branch-selector-page .mobile-language-control { display: none; }

/* Language control: ready for the four-language site build. */
.language-control { position:relative; }
.language-control summary { list-style:none; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:7px; min-width:58px; height:36px; padding:0 12px; border:1px solid #E4E4E0; border-radius:999px; background:#FFFFFF; color:#1F1F1F; font-family:var(--display); font-size:.75rem; font-weight:600; letter-spacing:.08em; }
.language-control summary::-webkit-details-marker { display:none; }
.language-control summary i { color:#B58A4B; font-size:.82rem; }
.language-control__menu { position:absolute; top:calc(100% + 10px); right:0; z-index:110; width:174px; padding:8px; border:1px solid #E4E4E0; background:#FFFFFF; box-shadow:0 12px 28px rgba(31,31,31,.12); }
.language-control__menu span { display:flex; justify-content:space-between; gap:8px; padding:10px 11px; color:#757575; font-size:.82rem; line-height:1.2; white-space:nowrap; }
.language-control__menu span.is-active { background:#F7F7F4; color:#1F1F1F; font-weight:600; }
.language-control__menu b { font-size:.67rem; font-weight:500; color:#9A9A95; }
.mobile-language-control { display:none; }
.mobile-header-language { display:none; }

.branch-placeholder { position: relative; min-height: 100vh; min-height: 100svh; display: grid; place-items: center; overflow: hidden; color: #FFFFFF; text-align: center; }
.branch-placeholder::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(41,25,17,0.06) 38%, rgba(41,25,17,0.76) 100%); }
.branch-placeholder__image { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 54%; }
.branch-placeholder__content { position: relative; z-index: 1; align-self: end; padding: 0 24px clamp(48px, 9vh, 100px); }
.branch-placeholder__eyebrow { font-family: var(--display); letter-spacing: 0.18em; color: #FFFFFF; }
.branch-placeholder h1 { margin: 8px 0 10px; font-size: clamp(2rem, 5vw, 3.6rem); font-weight: 500; }
.branch-placeholder__back { display: inline-block; margin-top: 24px; padding-bottom: 4px; border-bottom: 1px solid #B58A4B; color: #FFFFFF; }
.branch-placeholder-page .mobile-floating-instagram { display: none; }

@media (max-width: 767px) {
  .branch-selector {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .branch-panel__label { left: 22px; right: 22px; bottom: 22px; gap: 3px; }
  .branch-panel__label::before { width: 30px; margin-bottom: 5px; }
  .branch-panel__label strong { font-size: clamp(1.25rem, 6vw, 1.65rem); }
  .branch-panel__label span { font-size: 0.66rem; letter-spacing: 0.12em; }
  .branch-panel--main .branch-panel__image { object-position: 50% 56%; }
  .branch-panel--tower .branch-panel__image { object-position: 50% 43%; }
}

/* ============================================================
   히어로
   ============================================================ */
.hero { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; color: #FFFFFF; overflow: hidden; }
.hero-slides { position: absolute; inset: 0; z-index: 0; }
.hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.06);
  transition: opacity 2.6s cubic-bezier(0.45, 0, 0.25, 1);
  animation: heroKenburns 18s ease-in-out infinite alternate;
  will-change: opacity, transform;
}
.hero-slide:nth-child(2) { animation-delay: -6.9s; }
.hero-slide:nth-child(3) { animation-delay: -13.8s; }
.hero-slide:nth-child(4) { animation-delay: -20.7s; }
.hero-slide.active { opacity: 1; }
@keyframes heroKenburns {
  from { transform: scale(1.04) translate3d(0, 0, 0); }
  to { transform: scale(1.13) translate3d(1.2%, -1.2%, 0); }
}
.hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,18,15,0.5) 0%, rgba(20,18,15,0.35) 45%, rgba(20,18,15,0.65) 100%); z-index: 1; }
.hero-content { position: relative; z-index: 2; padding: 0 24px; max-width: 820px; }
/* All four seasonal copies remain in the DOM for SEO/AEO/GEO; only visual opacity changes. */
.seasonal-hero-copies { position:relative; z-index:2; width:min(820px,calc(100% - 48px)); min-height:240px; }
.seasonal-hero-copy { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity 1.25s ease; }
.seasonal-hero-copy.is-active { opacity:1; pointer-events:auto; }
.seasonal-hero-copy h1,.seasonal-hero-copy h2 { max-width:760px; margin:0 0 18px; color:#FFF; font-family:var(--serif); font-size:clamp(2.25rem,5.2vw,4.15rem); font-weight:500; line-height:1.23; letter-spacing:-.035em; text-shadow:0 2px 30px rgba(0,0,0,.45); word-break:keep-all; }
.seasonal-hero-copy p { max-width:650px; margin:0; color:rgba(255,255,255,.95); font-size:clamp(1rem,1.65vw,1.18rem); line-height:1.75; word-break:keep-all; text-shadow:0 1px 14px rgba(0,0,0,.5); }
.seasonal-hero-copy .hero-badge { margin-bottom:25px; }
.seasonal-hero-cta { position:absolute; z-index:3; left:50%; bottom:clamp(72px,12vh,120px); transform:translateX(-50%); }
.seasonal-hero-cta .btn { white-space:nowrap; }
.hero-badge {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--display); letter-spacing: 0.16em; text-transform: none;
  font-size: 0.82rem; border: 1px solid rgba(255,255,255,0.58);
  padding: 8px 20px; border-radius: 999px; margin-bottom: 28px;
  background: linear-gradient(90deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
  box-shadow: 0 14px 38px rgba(0,0,0,0.22), inset 0 1px 0 rgba(255,255,255,0.16);
  backdrop-filter: blur(3px);
}
.hero-badge i { font-size: 0.95rem; opacity: 0.96; }
.hero-badge-text { display: inline-flex; align-items: baseline; gap: 10px; white-space: nowrap; }
.hero-badge-ko { font-family: var(--serif); font-weight: 500; letter-spacing: 0.18em; }
.hero-badge-en { font-family: var(--display); font-size: 0.66rem; letter-spacing: 0.18em; opacity: 0.76; text-transform: uppercase; }
.hero-badge-years { font-family: var(--display); letter-spacing: 0.24em; opacity: 0.9; white-space: nowrap; }
.hero h1 { font-size: clamp(2.4rem, 6vw, 4.4rem); font-weight: 600; margin-bottom: 8px; text-shadow: 0 2px 30px rgba(0,0,0,0.4); }
.hero .hero-hanja { font-family: var(--serif); font-size: clamp(1rem, 2vw, 1.3rem); letter-spacing: 0.5em; opacity: 0.85; margin-bottom: 22px; }
.hero .hero-tagline { font-family: var(--serif); font-size: clamp(1.1rem, 2.2vw, 1.5rem); font-weight: 300; margin-bottom: 12px; }
.hero .hero-sub { font-size: 0.98rem; opacity: 0.85; margin-bottom: 38px; max-width: 560px; margin-left: auto; margin-right: auto; }
.hero-cta { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.hero-menu-btn {
  min-width: 190px; justify-content: center; flex-direction: column; gap: 3px;
  padding: 14px 34px 13px; line-height: 1.1;
  background: rgba(255,255,255,0.03);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 12px 30px rgba(0,0,0,0.18);
}
.hero-menu-btn .btn-ko { font-family: var(--serif); font-size: 1.02rem; font-weight: 600; letter-spacing: 0.06em; }
.hero-menu-btn .btn-en { font-family: var(--display); font-size: 0.68rem; letter-spacing: 0.18em; text-transform: uppercase; opacity: 0.78; }
.hero-menu-btn:hover .btn-en { opacity: 0.9; }
.hero-scroll { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); z-index: 2; color: #FFFFFF; font-size: 0.72rem; letter-spacing: 0.2em; opacity: 0.85; animation: bob 2s ease-in-out infinite; }
.hero-scroll i { display: block; margin-top: 6px; font-size: 1rem; }
@keyframes bob { 0%,100%{ transform: translate(-50%,0);} 50%{ transform: translate(-50%,8px);} }

/* ============================================================
   인트로 / 스토리 발췌
   ============================================================ */
.intro { background: var(--paper); position: relative; }
.intro-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: center; }
.intro-text .eyebrow { font-family: var(--display); letter-spacing: 0.26em; text-transform: uppercase; color: var(--clay); font-size: 1rem; }
.intro-text h2 { font-size: clamp(1.7rem, 3.2vw, 2.4rem); margin: 16px 0 24px; }
.intro-text p { color: var(--ink-soft); margin-bottom: 18px; font-size: 1.03rem; }
.intro-text .sig { font-family: var(--serif); color: var(--muted); font-style: italic; }
.intro-img { position: relative; }
.intro-img img { border-radius: 3px; box-shadow: var(--shadow); aspect-ratio: 4/5; object-fit: cover; }
.intro-img .stamp { position: absolute; bottom: -26px; right: -18px; width: 118px; height: 118px; background: #FFFFFF; border-radius: 50%; padding: 10px; box-shadow: var(--shadow); }

/* ---------- 미쉐린 스트립 ---------- */
.michelin-strip { background: var(--ink); color: var(--paper); padding: 44px 0; }
.michelin-inner { display: flex; align-items: center; justify-content: center; gap: 40px; flex-wrap: wrap; text-align: center; }
.michelin-inner .m-icon { font-size: 2.2rem; color: var(--clay); }
.michelin-inner h3 { color: var(--paper); font-size: 1.3rem; }
.michelin-inner .m-years { display: flex; gap: 14px; }
.michelin-inner .m-years span { border: 1px solid rgba(255,255,255,0.4); padding: 6px 16px; border-radius: 40px; font-family: var(--display); letter-spacing: 0.1em; }

/* ============================================================
   시그니처 그리드
   ============================================================ */
.signatures { background: var(--paper-2); }
.sig-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.sig-card { position: relative; overflow: hidden; border-radius: 3px; aspect-ratio: 3/4; box-shadow: var(--shadow); }
.sig-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
.sig-card:hover img { transform: scale(1.08); }
.sig-card .sig-label { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 20px; background: linear-gradient(180deg, transparent 40%, rgba(20,18,15,0.75) 100%); color: #FFFFFF; }
.sig-card .sig-label strong { font-family: var(--serif); font-size: 1.1rem; }
.sig-card .sig-label span { font-family: var(--display); font-size: 0.85rem; opacity: 0.85; letter-spacing: 0.05em; }

/* ============================================================
   메뉴 미리보기 / 메뉴 페이지
   ============================================================ */
.menu-section { background: var(--paper); }
.menu-cat { margin-bottom: 64px; }
.menu-cat:last-child { margin-bottom: 0; }
.menu-cat-head { display: flex; align-items: baseline; gap: 16px; border-bottom: 2px solid var(--ink); padding-bottom: 12px; margin-bottom: 28px; }
.menu-cat-head h3 { font-size: 1.6rem; }
.menu-cat-head .cat-en { font-family: var(--display); letter-spacing: 0.16em; text-transform: uppercase; color: var(--clay); font-size: 0.95rem; }
.menu-cat-head .cat-note { margin-left: auto; color: var(--muted); font-size: 0.85rem; font-style: italic; }
.menu-list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 48px; }
.menu-item { display: flex; align-items: flex-start; gap: 12px; padding: 14px 0; border-bottom: 1px dashed var(--line); }
.menu-item-main { flex: 1; }
.menu-item .mi-name { font-family: var(--serif); font-weight: 600; font-size: 1.08rem; color: var(--ink); display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.menu-item .mi-en { display: block; font-family: var(--display); font-size: 0.9rem; color: var(--muted); letter-spacing: 0.03em; margin-top: 1px; }
.menu-item .mi-desc { font-size: 0.86rem; color: var(--muted); margin-top: 5px; }
.menu-item .mi-price { font-family: var(--serif); font-weight: 600; font-size: 1.05rem; color: var(--clay); white-space: nowrap; }
.tag { font-size: 0.66rem; font-weight: 700; padding: 2px 8px; border-radius: 40px; letter-spacing: 0.04em; vertical-align: middle; }
.tag-vegan { background: #F7F7F4; color: var(--pine-deep); }
.tag-sig { background: var(--clay); color: #FFFFFF; }

.menu-guide { background: var(--paper-2); border-radius: 4px; padding: 34px 40px; margin-top: 20px; }
.menu-guide h3 { font-size: 1.2rem; margin-bottom: 18px; display: flex; align-items: center; gap: 10px; }
.menu-guide ol { padding-left: 4px; counter-reset: g; display: grid; gap: 12px; }
.menu-guide li { list-style: none; display: flex; gap: 14px; align-items: flex-start; }
.menu-guide li::before { counter-increment: g; content: counter(g); flex-shrink: 0; width: 26px; height: 26px; background: var(--pine); color: #FFFFFF; border-radius: 50%; display: grid; place-items: center; font-size: 0.82rem; font-weight: 700; }
.menu-guide .g-en { color: var(--muted); font-size: 0.82rem; }

/* ============================================================
   공간(Space)
   ============================================================ */
.space-section { background: var(--paper); }
.space-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; gap: 16px; }
.space-item { position: relative; overflow: hidden; border-radius: 3px; cursor: pointer; }
.space-item.wide { grid-column: span 2; }
.space-item.tall { grid-row: span 2; }
.space-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
.space-item:hover img { transform: scale(1.07); }
.space-item .cap { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 18px; background: linear-gradient(180deg, transparent 50%, rgba(20,18,15,0.72) 100%); color: #FFFFFF; opacity: 0; transition: opacity 0.35s; }
.space-item:hover .cap { opacity: 1; }
.space-item .cap strong { font-family: var(--serif); font-size: 1.05rem; }
.space-item .cap span { font-size: 0.82rem; opacity: 0.9; }

/* ---------- 페이지 히어로 (서브페이지 상단) ---------- */
.page-hero { position: relative; min-height: 52vh; display: flex; align-items: center; justify-content: center; text-align: center; color: #FFFFFF; overflow: hidden; }
.page-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.page-hero::after { content: ''; position: absolute; inset: 0; background: rgba(20,18,15,0.5); z-index: 1; }
.page-hero .ph-content { position: relative; z-index: 2; padding: 90px 24px 0; }
.page-hero .eyebrow { font-family: var(--display); letter-spacing: 0.28em; text-transform: uppercase; font-size: 0.9rem; opacity: 0.9; }
.page-hero h1 { font-size: clamp(2rem, 5vw, 3.2rem); margin-top: 12px; text-shadow: 0 2px 24px rgba(0,0,0,0.4); }
.page-hero p { margin-top: 14px; opacity: 0.9; }

/* ---------- breadcrumb ---------- */
.breadcrumb { background: var(--paper-2); padding: 14px 0; font-size: 0.85rem; color: var(--muted); }
.breadcrumb a:hover { color: var(--clay); }
.breadcrumb .sep { margin: 0 8px; opacity: 0.5; }

/* ============================================================
   스토리 페이지
   ============================================================ */
.story-block { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; margin-bottom: 90px; }
.story-block:nth-child(even) .story-img { order: 2; }
.story-block:last-child { margin-bottom: 0; }
.story-img img { border-radius: 3px; box-shadow: var(--shadow); aspect-ratio: 4/3; object-fit: cover; width: 100%; }
.story-img img.awards-img { object-fit: contain; background: #FFFFFF; padding: 10px; }
.story-text .num { font-family: var(--display); font-size: 2.4rem; color: var(--line); line-height: 1; }
.story-text h3 { font-size: 1.6rem; margin: 6px 0 18px; }
.story-text p { color: var(--ink-soft); font-size: 1.03rem; }

/* ============================================================
   Info / 오시는 길
   ============================================================ */
.info-section { background: var(--paper); }
.info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.info-card { background: var(--white); border: 1px solid var(--line); border-radius: 4px; padding: 34px 36px; box-shadow: var(--shadow); }
.info-card h3 { font-size: 1.35rem; margin-bottom: 20px; display: flex; align-items: center; gap: 10px; color: var(--pine-deep); }
.info-row { display: flex; gap: 14px; padding: 12px 0; border-bottom: 1px dashed var(--line); }
.info-row:last-child { border-bottom: none; }
.info-row .lbl { flex-shrink: 0; width: 96px; font-weight: 600; color: var(--ink); }
.info-row .val { color: var(--ink-soft); }
.info-row .val a { color: var(--clay); }
.hours-branch { margin-bottom: 6px; }
.hours-branch strong { color: var(--pine-deep); }
.map-embed { border-radius: 4px; overflow: hidden; box-shadow: var(--shadow); border: 1px solid var(--line); min-height: 380px; }
.map-embed iframe { width: 100%; height: 100%; min-height: 380px; border: 0; display: block; }
.map-fallback { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; min-height: 380px; background: var(--paper-2); text-align: center; padding: 30px; }
.map-fallback i { font-size: 2.4rem; color: var(--clay); }
.map-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-top: 6px; }
.map-link {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-width: 158px; padding: 13px 24px; border-radius: 999px;
  border: 1.5px solid rgba(28,26,23,0.22); background: transparent; color: var(--ink);
  font-family: var(--sans); font-size: 0.94rem; font-weight: 600; letter-spacing: 0.03em;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.map-link:hover { background: rgba(28,26,23,0.04); border-color: rgba(28,26,23,0.42); transform: translateY(-2px); }
.map-symbol {
  width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid currentColor;
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
  color: currentColor; font-family: var(--sans); font-size: 0.82rem; font-weight: 800; line-height: 1;
}
.map-symbol i { font-size: 0.98rem; color: currentColor; }

.reserve-cta { background: var(--pine-deep); color: #FFFFFF; text-align: center; padding: 70px 0; }
.reserve-cta h2 { color: #FFFFFF; font-size: clamp(1.6rem, 3vw, 2.3rem); }
.reserve-cta p { opacity: 0.85; margin: 14px 0 30px; }

/* ---------- CTA 밴드 (메인 하단) ---------- */
.cta-band { position: relative; text-align: center; color: #FFFFFF; padding: 110px 0; overflow: hidden; }
.cta-band img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.cta-band::after { content: ''; position: absolute; inset: 0; background: rgba(20,18,15,0.6); z-index: 1; }
.cta-band .container { position: relative; z-index: 2; }
.cta-band h2 { color: #FFFFFF; font-size: clamp(1.8rem, 4vw, 2.8rem); }
.cta-band p { opacity: 0.9; margin: 16px 0 32px; font-size: 1.05rem; }

/* ============================================================
   푸터
   ============================================================ */
.site-footer { background: var(--ink); color: #E4E4E0; padding: 64px 0 0; }
.footer-inner { max-width: var(--maxw); margin: 0 auto; padding: 0 24px 48px; display: grid; grid-template-columns: 1.3fr 1fr 0.8fr; gap: 48px; }
.footer-logo { height: 90px; width: auto; filter: brightness(0) invert(1); opacity: 0.92; margin-bottom: 16px; }
.footer-tagline { font-family: var(--serif); font-size: 1.05rem; color: var(--paper); }
.footer-michelin { margin-top: 12px; font-size: 0.86rem; color: var(--gold); }
.footer-info h3, .footer-links h3 { color: var(--paper); font-size: 1.05rem; margin-bottom: 16px; }
.footer-info p { font-size: 0.9rem; margin-bottom: 9px; }
.footer-info i { color: var(--clay); width: 18px; }
.footer-info a:hover, .footer-links a:hover { color: var(--paper); }
.footer-links li { margin-bottom: 9px; font-size: 0.9rem; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding: 20px 24px; text-align: center; font-size: 0.8rem; color: #E4E4E0; }


.mobile-floating-instagram {
  display: none;
  position: fixed;
  right: 22px;
  bottom: 86px;
  z-index: 91;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 50px;
  height: 50px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.94);
  border: 1px solid rgba(255,255,255,0.76);
  box-shadow: 0 8px 22px rgba(0,0,0,0.20);
  backdrop-filter: blur(8px);
  color: #B58A4B;
  font-size: 0.8rem;
  font-weight: 700;
}
.mobile-floating-instagram img {
  width: 24px;
  height: 24px;
  display: block;
  object-fit: contain;
}

/* ---------- 플로팅 예약 버튼 ---------- */
.floating-reserve { position: fixed; right: 22px; bottom: 22px; z-index: 90; background: var(--clay); color: #FFFFFF; display: inline-flex; align-items: center; gap: 8px; padding: 14px 20px; border-radius: 40px; box-shadow: 0 8px 24px rgba(165,96,60,0.45); font-weight: 500; font-size: 0.9rem; transition: all 0.25s; }
.floating-reserve:hover { background: #B58A4B; transform: translateY(-3px); }

/* ============================================================
   스크롤 애니메이션
   ============================================================ */
.reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.8s ease, transform 0.8s ease; }
.reveal.in { opacity: 1; transform: translateY(0); }

/* ============================================================
   반응형
   ============================================================ */
@media (max-width: 960px) {
  .section { padding: 72px 0; }
  .intro-grid, .story-block, .story-block:nth-child(even) .story-img, .info-grid { grid-template-columns: 1fr; }
  .story-block:nth-child(even) .story-img { order: 0; }
  .story-img { max-width: 520px; margin: 0 auto; }
  .sig-grid { grid-template-columns: repeat(2, 1fr); }
  .space-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 200px; }
  .menu-list { grid-template-columns: 1fr; gap: 0 0; }
  .footer-inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .main-nav, .nav-actions { display: none; }
  .nav-toggle { display: flex; }
  .site-header { background: rgba(255,255,255,0.97); box-shadow: 0 2px 16px rgba(0,0,0,0.06); }
  .site-header .brand-logo { filter: none; }
  .site-header .nav-toggle span { background: var(--ink); }
  .mobile-nav { display: block; max-height: 0; overflow: hidden; background: var(--paper); transition: max-height 0.4s ease; }
  .mobile-nav.open { max-height: 420px; border-top: 1px solid var(--line); }
  .mobile-nav ul { padding: 12px 24px; }
  .mobile-nav li a { display: flex; justify-content: space-between; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 1.05rem; }
  .mobile-nav li a em { font-family: var(--display); font-style: normal; color: var(--muted); font-size: 0.85rem; }
  .mobile-nav .mobile-reserve { color: var(--clay); font-weight: 600; }
  .mobile-nav .mobile-instagram { color: #B58A4B; font-weight: 600; }
  .mobile-nav .mobile-instagram i { font-size: 1.12rem; }
  .mobile-floating-instagram {
    display: inline-flex;
    width: 54px;
    min-width: 54px;
    height: 54px;
    padding: 0;
    border-radius: 50%;
  }
  .mobile-floating-instagram span { display: none; }
  .mobile-floating-instagram img { width: 27px; height: 27px; }
  .mobile-language-control { display:none; }
  .mobile-header-language { display:block; position:relative; margin-left:auto; margin-right:4px; z-index:101; }
  .mobile-header-language summary { list-style:none; display:inline-flex; align-items:center; justify-content:center; gap:5px; height:36px; min-width:52px; padding:0 9px; border:1px solid #E4E4E0; border-radius:999px; background:#FFFFFF; color:#1F1F1F; cursor:pointer; font-family:var(--display); font-size:.68rem; font-weight:600; }
  .mobile-header-language summary::-webkit-details-marker { display:none; }
  .mobile-header-language summary i { color:#B58A4B; }
  .mobile-header-language__menu { position:absolute; top:44px; right:0; width:158px; padding:7px; border:1px solid #E4E4E0; background:#FFFFFF; box-shadow:0 12px 28px rgba(31,31,31,.12); }
  .mobile-header-language__menu span { display:block; padding:10px 11px; color:#757575; font-size:.82rem; }
  .mobile-header-language__menu .is-active { background:#F7F7F4; color:#1F1F1F; font-weight:600; }

  .hero-badge { gap: 8px; padding: 8px 14px; letter-spacing: 0.08em; max-width: calc(100vw - 42px); }
  .hero-badge-text { flex-direction: column; gap: 2px; align-items: flex-start; }
  .hero-badge-ko { letter-spacing: 0.12em; font-size: 0.76rem; }
  .hero-badge-en { letter-spacing: 0.12em; font-size: 0.55rem; }
  .hero-badge-years { letter-spacing: 0.16em; font-size: 0.72rem; }
  .hero-menu-btn { min-width: 168px; padding: 13px 28px 12px; }
  .hero-menu-btn .btn-ko { font-size: 0.98rem; }
  .hero-menu-btn .btn-en { font-size: 0.62rem; }

  .michelin-inner { gap: 20px; }
  .floating-reserve {
    width: 54px;
    min-width: 54px;
    height: 54px;
    padding: 0;
    border-radius: 50%;
    justify-content: center;
    gap: 0;
    background: rgba(255,255,255,0.94);
    border: 1px solid rgba(255,255,255,0.76);
    box-shadow: 0 8px 22px rgba(0,0,0,0.20);
    backdrop-filter: blur(8px);
    color: #757575;
  }
  .floating-reserve i {
    font-size: 27px;
    line-height: 1;
    color: #757575;
  }
  .floating-reserve span { display: none; }
  .floating-reserve:hover { background: rgba(255,255,255,0.98); color: #757575; transform: translateY(-2px); }
  .footer-inner { grid-template-columns: 1fr; gap: 32px; text-align: center; }
  .footer-info i { width: auto; }
  .cta-band, .page-hero { padding-left: 0; padding-right: 0; }
}

/* ============================================================
   편집형 루트 랜딩 - Palette 03: White / Charcoal / Warm Gray / Brass
   ============================================================ */
.editorial-home-page {
  background: #FFFFFF;
  color: #1F1F1F;
}
.editorial-home-page .site-header {
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid #E4E4E0;
  box-shadow: none;
  padding: 7px 0;
}
/* Keep the root navigation identical to the Story/Menu editorial header. */
.editorial-home-page .header-inner {
  width: min(100%, 1440px);
  max-width: none;
  padding-inline: clamp(24px, 4vw, 64px);
}
.editorial-home-page .site-header:not(.scrolled) .brand-logo { filter: none; }
.editorial-home-page .site-header:not(.scrolled) .main-nav a { color: #1F1F1F; }
.editorial-home-page .site-header:not(.scrolled) .nav-toggle span { background: #1F1F1F; }
.editorial-home-page .main-nav a {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.editorial-home-page .nav-en {
  font-family: inherit;
  letter-spacing: .1em;
}
.editorial-home-page .main-nav a::after { height: 1px; background: #B58A4B; }
.editorial-home-page .nav-instagram-btn,
.editorial-home-page .site-header.scrolled .nav-instagram-btn {
  width: auto;
  height: auto;
  padding: 7px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #1F1F1F !important;
  backdrop-filter: none;
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.editorial-home-page .nav-instagram-btn img { width: 17px; height: 17px; }
.editorial-home-page .nav-instagram-btn span { display: inline; }
.editorial-home-page .nav-instagram-btn:hover { background: transparent; color: #B58A4B !important; transform: none; }
.editorial-home-page .mobile-floating-instagram { display: none !important; }

.editorial-page-frame {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 76px clamp(24px, 4vw, 64px) 0;
}
.editorial-hero {
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 9 / 4;
  height: auto;
  min-height: 0;
  margin-top: 0;
  overflow: hidden;
  border-radius: 14px;
  background: #1F1F1F;
  color: #F7F4EC;
}
.editorial-hero__image {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  animation: editorialHeroCrossfade 32s linear infinite;
  animation-delay: var(--hero-delay);
  will-change: opacity;
}
.editorial-hero__image--1 { --hero-delay: 0s; opacity: 1; }
.editorial-hero__image--2 { --hero-delay: -24s; }
.editorial-hero__image--3 { --hero-delay: -16s; }
.editorial-hero__image--4 { --hero-delay: -8s; }
@keyframes editorialHeroCrossfade {
  0%, 21.09375% { opacity: 1; visibility: visible; }
  25%, 96.09375% { opacity: 0; visibility: hidden; }
  100% { opacity: 1; visibility: visible; }
}
.editorial-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(16,12,9,.48) 0%, rgba(16,12,9,.24) 30%, rgba(16,12,9,0) 58%);
}
.editorial-hero__copy-stage {
  position: absolute;
  inset: 0;
  z-index: 2;
  text-shadow: 0 2px 20px rgba(16,12,9,.28);
}
.editorial-hero__copy {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0 clamp(32px, 6vw, 88px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  animation: editorialHeroCrossfade 32s linear infinite;
  animation-delay: var(--hero-delay);
  will-change: opacity;
}
.editorial-hero__copy--1 { --hero-delay: 0s; opacity: 1; visibility: visible; }
.editorial-hero__copy--2 { --hero-delay: -24s; }
.editorial-hero__copy--3 { --hero-delay: -16s; }
.editorial-hero__copy--4 { --hero-delay: -8s; }
.editorial-hero__eyebrow,
.editorial-hero__body,
.editorial-hero__cta { font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.editorial-hero__eyebrow { margin-bottom: 20px; font-size: .78rem; font-weight: 500; letter-spacing: .15em; }
.editorial-hero__eyebrow::after { content: ''; display: block; width: 34px; height: 1px; margin-top: 17px; background: #B58A4B; }
.editorial-hero h1,
.editorial-hero__copy h2 {
  max-width: 500px;
  margin: 0;
  color: #F7F4EC;
  font-family: 'Noto Serif KR', serif;
  font-size: clamp(2.35rem, 4.1vw, 4rem);
  font-weight: 500;
  line-height: 1.24;
  letter-spacing: -.04em;
  word-break: keep-all;
}
.editorial-hero__body { max-width: 620px; margin-top: 27px; font-size: clamp(.94rem, 1.1vw, 1.05rem); line-height: 1.9; font-weight: 400; word-break: keep-all; }
.editorial-hero__cta { margin-top: 32px; padding-bottom: 4px; border-bottom: 1px solid rgba(181,138,75,.9); font-size: .72rem; font-weight: 600; letter-spacing: .14em; pointer-events: auto; }
.editorial-hero__cta:hover,
.editorial-hero__cta:focus-visible { color: #D0A86E; }

.editorial-home {
  width: 100%;
  margin: 0;
  padding: 64px 0 80px;
}
.editorial-intro { border-bottom: 1px solid #E4E4E0; padding-bottom: 58px; }
.editorial-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 30px); }
.editorial-tile { display: block; min-width: 0; }
.editorial-tile__primary { display: grid; grid-template-columns: minmax(0, 1fr) auto; min-width: 0; }
.editorial-tile__image { display: block; overflow: hidden; background: #F7F7F4; aspect-ratio: 4 / 4.65; }
.editorial-tile__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.editorial-tile--main .editorial-tile__image img { object-position: 50% 55%; }

.editorial-tile--tower .editorial-tile__image img { object-position: 50% 44%; }
.editorial-tile:hover .editorial-tile__image img,
.editorial-tile__primary:focus-visible .editorial-tile__image img { transform: scale(1.018); }
.editorial-tile__primary:focus-visible { outline: 1px solid #B58A4B; outline-offset: 7px; }
.editorial-tile__meta { display: flex; justify-content: space-between; gap: 12px; margin-top: 13px; color: #757575; font-family: var(--display); font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; }
.editorial-tile__meta b { color: #B58A4B; font-weight: 500; }
.editorial-tile__primary > strong { display: block; margin-top: 4px; font-family: var(--serif); font-size: clamp(1.06rem, 1.4vw, 1.34rem); font-weight: 500; letter-spacing: -.025em; }

.editorial-note {
  display: grid;
  grid-template-columns: .7fr 1.45fr .55fr;
  gap: clamp(28px, 5vw, 76px);
  align-items: start;
  padding: 76px 0;
  border-bottom: 1px solid #E4E4E0;
}
.editorial-note__label > span,
.branch-access__head > span {
  display: block;
  color: #B58A4B;
  font-family: var(--display);
  font-size: .7rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.editorial-note__label h2 { font-family: var(--display); font-size: clamp(1.1rem, 1.7vw, 1.45rem); font-weight: 500; letter-spacing: .08em; }
.editorial-note__copy p { color: #757575; font-family: var(--serif); font-size: clamp(1rem, 1.25vw, 1.16rem); line-height: 1.95; word-break: keep-all; }
.editorial-text-link { display: inline-block; margin-top: 24px; padding-bottom: 3px; border-bottom: 1px solid #B58A4B; color: #1F1F1F; font-size: .82rem; }
.editorial-text-link:hover { color: #B58A4B; }
.editorial-note__image { aspect-ratio: 1 / 1.18; overflow: hidden; }
.editorial-note__image img { width: 100%; height: 100%; object-fit: cover; }

.branch-access { padding: 72px 0 0; }
.branch-access__head { display: grid; grid-template-columns: .7fr 1.45fr .55fr; gap: clamp(28px, 5vw, 76px); align-items: baseline; margin-bottom: 34px; }
.branch-access__head h2 { font-size: clamp(1.45rem, 2.2vw, 2rem); font-weight: 500; }
.branch-access__head p { grid-column: 2; color: #757575; font-size: .9rem; }
.branch-access__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #1F1F1F; }
.branch-access__item { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 26px 0; border-bottom: 1px solid #E4E4E0; }
.branch-access__item:first-child { padding-right: clamp(20px, 3vw, 46px); border-right: 1px solid #E4E4E0; }
.branch-access__item:last-child { padding-left: clamp(20px, 3vw, 46px); }
.branch-access__item span { color: #757575; font-family: var(--display); font-size: .68rem; letter-spacing: .16em; }
.branch-access__item h3 { margin-top: 5px; font-size: clamp(1.04rem, 1.35vw, 1.28rem); font-weight: 500; }
.branch-access__item nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 14px; flex-shrink: 0; max-width: 58%; }
.branch-access__item nav a { color: #B58A4B; font-family: var(--display); font-size: .78rem; letter-spacing: .1em; border-bottom: 1px solid transparent; }
.branch-access__item nav a:hover { border-bottom-color: #B58A4B; }
/* 지점 선택 및 승인 대기 페이지 */
.branch-choice-page .site-header,
.branch-detail-page .site-header { background: rgba(255,255,255,.98); border-bottom: 1px solid #E4E4E0; box-shadow: none; }
.branch-choice-page .site-header:not(.scrolled) .brand-logo,
.branch-detail-page .site-header:not(.scrolled) .brand-logo { filter: none; }
.branch-choice-page .site-header:not(.scrolled) .main-nav a,
.branch-detail-page .site-header:not(.scrolled) .main-nav a { color: #1F1F1F; }
.branch-choice-page .site-header:not(.scrolled) .nav-toggle span,
.branch-detail-page .site-header:not(.scrolled) .nav-toggle span { background: #1F1F1F; }
.branch-context-page { min-height: 100svh; padding: 150px clamp(24px, 6vw, 90px) 80px; background: #FFFFFF; }
.inline-branch-chooser { width: min(100%, 1120px); margin: 0 auto; }
.inline-branch-chooser__head { max-width: 680px; margin-bottom: 56px; }
.inline-branch-chooser__head > span,
.main-detail-placeholder__copy > span { color: #B58A4B; font-family: var(--display); font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; }
.inline-branch-chooser__head h1 { margin: 14px 0; font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 500; word-break: keep-all; }
.inline-branch-chooser__head p { color: #757575; }
.inline-branch-chooser__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #1F1F1F; }
.inline-branch-chooser__links a { padding: 28px 2px; border-bottom: 1px solid #E4E4E0; }
.inline-branch-chooser__links a:first-child { padding-right: 32px; border-right: 1px solid #E4E4E0; }
.inline-branch-chooser__links a:last-child { padding-left: 32px; }
.inline-branch-chooser__links span { display: block; color: #757575; font-family: var(--display); font-size: .7rem; letter-spacing: .15em; }
.inline-branch-chooser__links strong { display: block; margin-top: 8px; font-family: var(--serif); font-size: clamp(1.1rem, 2vw, 1.45rem); font-weight: 500; }
.inline-branch-chooser__links a:hover strong { color: #757575; }
.main-detail-placeholder { width: min(100%, 1120px); margin: 0 auto; display: grid; grid-template-columns: .82fr 1fr; gap: clamp(44px, 7vw, 100px); align-items: center; }
.main-detail-placeholder__visual { aspect-ratio: 4 / 5; overflow: hidden; }
.main-detail-placeholder__visual img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; }
.main-detail-placeholder__copy h1 { margin: 14px 0 20px; font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 500; }
.main-detail-placeholder__copy > p { color: #757575; word-break: keep-all; }
.main-detail-placeholder__notice { margin-top: 18px; color: #757575 !important; font-size: .86rem; }
.main-detail-placeholder__copy nav { display: flex; gap: 22px; margin-top: 30px; padding-top: 17px; border-top: 1px solid #E4E4E0; }
.main-detail-placeholder__copy nav a { color: #B58A4B; font-family: var(--display); letter-spacing: .1em; font-size: .8rem; }
.branch-placeholder__nav { display: flex; justify-content: center; gap: 22px; margin-top: 24px; }
.branch-placeholder__nav a { padding-bottom: 3px; border-bottom: 1px solid #B58A4B; font-family: var(--display); letter-spacing: .12em; }

@media (max-width: 720px) {
  .editorial-home-page .site-header { padding: 5px 0; }
  .editorial-home-page .header-inner { min-height: 54px; }
  .editorial-home { padding: 88px 18px 56px; }
  .editorial-intro { padding-bottom: 42px; }
  .editorial-strip { grid-template-columns: 1fr; gap: 37px; }
  .editorial-tile__image { aspect-ratio: 4 / 3; }
  .editorial-tile__meta { margin-top: 9px; }
  .editorial-tile__primary > strong { font-size: 1.12rem; }
  .editorial-note { grid-template-columns: 1fr; gap: 25px; padding: 50px 0; }
  .editorial-note__image { width: 42%; min-width: 136px; aspect-ratio: 1 / 1; }
  .editorial-note__copy p { font-size: .98rem; line-height: 1.9; }
  .branch-access { padding-top: 48px; }
  .branch-access__head { display: block; margin-bottom: 27px; }
  .branch-access__head p { margin-top: 10px; }
  .branch-access__grid { grid-template-columns: 1fr; }
  .branch-access__item { flex-direction: column; align-items: start; padding: 22px 0; }
  .branch-access__item:first-child { padding-right: 0; border-right: 0; }
  .branch-access__item:last-child { padding-left: 0; }
  .branch-access__item nav { width: 100%; justify-content: flex-start; max-width: none; padding-top: 4px; }
  .branch-context-page { padding: 112px 20px 60px; }
  .inline-branch-chooser__head { margin-bottom: 38px; }
  .inline-branch-chooser__links { grid-template-columns: 1fr; }
  .inline-branch-chooser__links a:first-child,
  .inline-branch-chooser__links a:last-child { padding: 22px 0; border-right: 0; }
  .main-detail-placeholder { grid-template-columns: 1fr; gap: 34px; }
  .main-detail-placeholder__visual { aspect-ratio: 4 / 3; }
}

@media (prefers-reduced-motion: reduce) {
  .editorial-tile__image img { transition: none; }
  .editorial-hero__image { animation: none !important; opacity: 0; visibility: hidden; }
  .editorial-hero__image--1 { opacity: 1; visibility: visible; }
  .editorial-hero__copy { animation: none !important; opacity: 0; visibility: hidden; }
  .editorial-hero__copy--1 { opacity: 1; visibility: visible; }
}


/* Palette 03 editorial landing treatment */
.editorial-home-page,
.editorial-home-page button,
.editorial-home-page input,
.editorial-home-page textarea,
.editorial-home-page select {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 400;
}
.editorial-home-page { background: #FFFFFF; color: #1F1F1F; }
.editorial-home-page .site-header { background: rgba(255,255,255,.98); border-color: #E4E4E0; }
.editorial-home-page .main-nav a,
.editorial-home-page .nav-instagram-btn,
.editorial-home-page .editorial-tile__meta,
.editorial-home-page .editorial-note__label > span,
.editorial-home-page .branch-access__head > span,
.editorial-home-page .branch-access__item span,
.editorial-home-page .branch-access__item nav a,
.editorial-home-page .editorial-text-link {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.editorial-home-page .editorial-tile__meta,
.editorial-home-page .editorial-note__label > span,
.editorial-home-page .branch-access__head > span,
.editorial-home-page .branch-access__item span,
.editorial-home-page .branch-access__item nav a {
  letter-spacing: .1em;
  text-transform: uppercase;
}
.editorial-home-page .editorial-tile__primary > strong,
.editorial-home-page .branch-access__head h2,
.editorial-home-page .branch-access__item h3 {
  font-family: 'Noto Serif KR', serif;
  font-weight: 500;
}
.editorial-home-page .editorial-note__label h2,
.editorial-home-page .editorial-note__copy p {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.editorial-home-page .editorial-note__label h2 { font-weight: 500; }
.editorial-home-page .editorial-note__copy p { color: #1F1F1F; font-weight: 400; }
.editorial-home { padding-top: 64px; }
.editorial-strip { gap: clamp(18px, 2.2vw, 32px); }
.editorial-tile {
  position: relative;
  display: block;
  min-width: 0;
  overflow: hidden;
  border-radius: 14px;
  background: #F7F7F4;
  box-shadow: 0 8px 24px rgba(31,31,31,.07);
}
.editorial-tile__primary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
}
.editorial-tile__image {
  grid-column: 1 / -1;
  overflow: hidden;
  background: #F7F7F4;
  border-radius: 0;
}
.editorial-tile__meta {
  grid-column: 1 / -1;
  margin: 0;
  padding: 15px 18px 0;
  color: #757575;
  font-size: .68rem;
}
.editorial-tile__meta b { color: #B58A4B; font-weight: 600; }
.editorial-tile__primary > strong {
  grid-column: 1 / -1;
  margin: 0;
  padding: 4px 18px 17px;
  color: #1F1F1F;
}
.editorial-tile__maps {
  position: absolute;
  right: 18px;
  bottom: 39px;
  z-index: 2;
  display: flex;
  gap: 12px;
  align-items: center;
}
.editorial-tile__maps a {
  color: #B58A4B;
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: .62rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .1em;
  white-space: nowrap;
  text-transform: uppercase;
}
.editorial-tile__maps a:hover,
.editorial-tile__maps a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.editorial-tile__primary:focus-visible { outline: 2px solid #B58A4B; outline-offset: -2px; }
.editorial-note__image {
  overflow: hidden;
  border-radius: 14px;
  background: #F7F7F4;
  box-shadow: 0 8px 24px rgba(31,31,31,.07);
}
.branch-access__grid {
  gap: 18px;
  border-top: 0;
}
.branch-access__item,
.branch-access__item:first-child,
.branch-access__item:last-child {
  padding: 24px;
  border: 0;
  border-radius: 14px;
  background: #F7F7F4;
  box-shadow: 0 8px 24px rgba(31,31,31,.06);
}
.branch-access__head p,
.branch-access__item span { color: #757575; }
.branch-access__item nav a { color: #B58A4B; font-weight: 500; }
.editorial-intro,
.editorial-note { border-color: #E4E4E0; }
@media (max-width: 720px) {
  .editorial-page-frame {
    width: 100%;
    padding: 65px 0 0;
  }
  .editorial-hero {
    aspect-ratio: auto;
    height: clamp(280px, 74vw, 300px);
    min-height: 0;
    margin-top: 0;
    border-radius: 0;
    background: transparent;
  }
  .editorial-hero__image {
    object-fit: cover;
    object-position: 54% 50%;
  }
  .editorial-hero__overlay {
    background:
      linear-gradient(90deg, rgba(16,12,9,.72) 0%, rgba(16,12,9,.47) 44%, rgba(16,12,9,.08) 72%, rgba(16,12,9,0) 100%),
      linear-gradient(180deg, rgba(16,12,9,.28) 0%, rgba(16,12,9,.04) 58%, rgba(16,12,9,.18) 100%);
  }
  .editorial-hero__copy { justify-content: center; padding: 20px 18px 18px; }
  .editorial-hero__eyebrow { margin-bottom: 9px; font-size: .61rem; }
  .editorial-hero__eyebrow::after { margin-top: 8px; }
  .editorial-hero h1,
  .editorial-hero__copy h2 { max-width: 230px; font-size: clamp(1.48rem, 6.6vw, 1.82rem); line-height: 1.25; }
  .editorial-hero__body { max-width: 210px; margin-top: 12px; font-size: .76rem; line-height: 1.58; }
  .editorial-hero__proof { max-width: 215px; margin-top: 12px; font-size: .5rem; line-height: 1.45; letter-spacing: .07em; }
  .editorial-hero__cta { margin-top: 14px; font-size: .64rem; }
  .editorial-home { padding: 52px 18px 56px; }
  .editorial-strip { gap: 28px; }
  .editorial-tile { border-radius: 14px; }
  .editorial-tile__meta { padding: 13px 16px 0; }
  .editorial-tile__primary > strong { padding: 3px 16px 15px; }
  .editorial-tile__maps { right: 16px; bottom: 36px; gap: 10px; }
  .editorial-note__image { border-radius: 14px; }
  .branch-access__grid { gap: 14px; }
  .branch-access__item,
  .branch-access__item:first-child,
  .branch-access__item:last-child { padding: 20px; border-radius: 14px; }
}

/* ============================================================
   전 경로 편집형 디자인 시스템 - 루트 랜딩 기준
   ============================================================ */
.editorial-site-page,
.editorial-site-page button,
.editorial-site-page input,
.editorial-site-page textarea,
.editorial-site-page select {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.editorial-site-page {
  background: #FFFFFF;
  color: #1F1F1F;
}
.editorial-site-page h1,
.editorial-site-page h2,
.editorial-site-page h3,
.editorial-site-page h4 {
  font-family: 'Noto Serif KR', serif;
  font-weight: 500;
  word-break: keep-all;
}
.editorial-site-page .container {
  width: min(100%, 1440px);
  max-width: none;
  padding-inline: clamp(24px, 4vw, 64px);
}
.editorial-site-page .site-header {
  padding: 7px 0;
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid #E4E4E0;
  box-shadow: none;
  backdrop-filter: none;
}
.editorial-site-page .header-inner {
  width: min(100%, 1440px);
  max-width: none;
  padding-inline: clamp(24px, 4vw, 64px);
}
.editorial-site-page .site-header:not(.scrolled) .brand-logo { filter: none; }
.editorial-site-page .site-header:not(.scrolled) .main-nav a { color: #1F1F1F; }
.editorial-site-page .main-nav a {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.editorial-site-page .main-nav a::after { height: 1px; background: #B58A4B; }
.editorial-site-page .nav-en { font-family: inherit; letter-spacing: .1em; }
.editorial-site-page .nav-instagram-btn,
.editorial-site-page .site-header.scrolled .nav-instagram-btn {
  width: auto;
  height: auto;
  padding: 7px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #1F1F1F !important;
  backdrop-filter: none;
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.editorial-site-page .nav-instagram-btn img { width: 17px; height: 17px; }
.editorial-site-page .nav-instagram-btn span { display: inline; }
.editorial-site-page .nav-instagram-btn:hover {
  background: transparent;
  color: #B58A4B !important;
  transform: none;
}
.editorial-site-page .mobile-floating-instagram { display: none !important; }
.editorial-site-page .reveal {
  opacity: 1;
  transform: none;
  transition: none;
}

/* Shared editorial lead: title and copy sit beside an inset image. */
.editorial-site-page .page-hero {
  width: min(calc(100% - 2 * clamp(24px, 4vw, 64px)), 1312px);
  min-height: 0;
  margin: 76px auto 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  align-items: stretch;
  justify-content: initial;
  overflow: hidden;
  border-radius: 14px;
  background: #F7F7F4;
  color: #1F1F1F;
  text-align: left;
}
.editorial-site-page .page-hero::after { display: none; }
.editorial-site-page .page-hero img {
  position: relative;
  inset: auto;
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  height: 100%;
  min-height: 390px;
  max-height: 510px;
  object-fit: cover;
  z-index: 0;
}
.editorial-site-page .page-hero .ph-content {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  z-index: 1;
  max-width: 510px;
  padding: clamp(34px, 5vw, 72px);
}
.editorial-site-page .page-hero .eyebrow {
  color: #B58A4B;
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .15em;
  opacity: 1;
}
.editorial-site-page .page-hero .eyebrow::after {
  content: '';
  display: block;
  width: 34px;
  height: 1px;
  margin-top: 15px;
  background: #B58A4B;
}
.editorial-site-page .page-hero h1 {
  margin-top: 20px;
  color: #1F1F1F;
  font-size: clamp(2rem, 3.5vw, 3.35rem);
  line-height: 1.28;
  letter-spacing: -.035em;
  text-shadow: none;
}
.editorial-site-page .page-hero p {
  margin-top: 18px;
  color: #757575;
  font-size: .96rem;
  line-height: 1.8;
  opacity: 1;
  word-break: keep-all;
}
.editorial-site-page .breadcrumb {
  margin-top: 24px;
  padding: 0;
  background: #FFFFFF;
  color: #757575;
  font-size: .76rem;
}
.editorial-site-page .breadcrumb .container {
  padding-top: 13px;
  padding-bottom: 13px;
  border-top: 1px solid #E4E4E0;
  border-bottom: 1px solid #E4E4E0;
}
.editorial-site-page .section { padding: clamp(64px, 7vw, 96px) 0; }
.editorial-site-page .section-head { max-width: 760px; margin: 0 0 44px; text-align: left; }
.editorial-site-page .section-head .eyebrow {
  color: #B58A4B;
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .14em;
}
.editorial-site-page .section-head h2 { font-size: clamp(1.65rem, 2.7vw, 2.35rem); }
.editorial-site-page .section-head p { color: #757575; }
.editorial-site-page .divider-leaf { width: 34px; height: 1px; margin: 17px 0 0; background: #B58A4B; }
.editorial-site-page .divider-leaf::before { display: none; }

/* Editorial text links replace conventional bordered buttons. */
.editorial-site-page .btn,
.editorial-site-page .map-link {
  min-width: 0;
  padding: 0 0 4px;
  border: 0;
  border-bottom: 1px solid #B58A4B;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #1F1F1F;
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .08em;
}
.editorial-site-page .btn:hover,
.editorial-site-page .map-link:hover {
  border-color: #B58A4B;
  background: transparent;
  box-shadow: none;
  color: #B58A4B;
  transform: none;
}

/* Story */
.editorial-site-page .story-block {
  gap: clamp(36px, 6vw, 82px);
  margin-bottom: clamp(64px, 8vw, 106px);
  padding-bottom: clamp(64px, 8vw, 106px);
  border-bottom: 1px solid #E4E4E0;
}
.editorial-site-page .story-block:last-child { padding-bottom: 0; border-bottom: 0; }
.editorial-site-page .story-img { overflow: hidden; border-radius: 14px; background: #F7F7F4; }
.editorial-site-page .story-img img,
.editorial-site-page .story-img img.awards-img {
  border-radius: 14px;
  box-shadow: none;
}
.editorial-site-page .story-text .num {
  color: #B58A4B;
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: .72rem;
  letter-spacing: .14em;
}
.editorial-site-page .story-text h3 { font-size: clamp(1.45rem, 2.4vw, 2.05rem); }
.editorial-site-page .story-text p { color: #757575; line-height: 1.95; word-break: keep-all; }

/* Menu */
.editorial-menu-page .menu-section { background: #F7F7F4; }
.editorial-menu-page .menu-cat {
  margin-bottom: 22px;
  padding: clamp(25px, 3vw, 38px);
  border-radius: 14px;
  background: #FFFFFF;
}
.editorial-menu-page .menu-cat-head {
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #1F1F1F;
}
.editorial-menu-page .menu-cat-head h3 { font-size: clamp(1.3rem, 2vw, 1.65rem); }
.editorial-menu-page .menu-cat-head .cat-en,
.editorial-menu-page .menu-cat-head .cat-note,
.editorial-menu-page .menu-item .mi-en,
.editorial-menu-page .menu-item .mi-desc { color: #757575; font-family: 'Pretendard', sans-serif; }
.editorial-menu-page .menu-cat-head .cat-en { color: #B58A4B; font-size: .72rem; letter-spacing: .12em; }
.editorial-menu-page .menu-item { padding: 16px 0; border-bottom: 1px solid #E4E4E0; }
.editorial-menu-page .menu-item .mi-name { color: #1F1F1F; font-size: 1rem; font-weight: 500; }
.editorial-menu-page .menu-item .mi-price { color: #1F1F1F; font-family: 'Pretendard', sans-serif; font-size: .94rem; font-weight: 600; }
.editorial-site-page .tag { border-radius: 2px; }
.editorial-site-page .tag-vegan { background: #F7F7F4; color: #757575; }
.editorial-site-page .tag-sig { background: #B58A4B; color: #FFFFFF; }
.editorial-site-page .menu-guide {
  padding: clamp(26px, 4vw, 42px);
  border-radius: 14px;
  background: #F7F7F4;
}
.editorial-menu-page .menu-guide { background: #FFFFFF; }
.editorial-site-page .menu-guide li::before {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #B58A4B;
  font-size: .72rem;
}

/* Space gallery */
.editorial-site-page .space-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: auto;
  gap: 34px 22px;
}
.editorial-site-page .space-item,
.editorial-site-page .space-item.wide,
.editorial-site-page .space-item.tall {
  grid-column: auto;
  grid-row: auto;
  overflow: visible;
  border-radius: 0;
  cursor: default;
}
.editorial-site-page .space-item img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  object-fit: cover;
}
.editorial-site-page .space-item:hover img { transform: none; }
.editorial-site-page .space-item .cap {
  position: static;
  display: flex;
  padding: 14px 2px 0;
  border-bottom: 1px solid #E4E4E0;
  background: transparent;
  color: #1F1F1F;
  opacity: 1;
}
.editorial-site-page .space-item .cap strong { font-size: 1rem; font-weight: 500; }
.editorial-site-page .space-item .cap span { color: #757575; opacity: 1; }

/* Information cards */
.editorial-site-page .info-grid { gap: clamp(22px, 3vw, 38px); }
.editorial-site-page .info-card,
.editorial-site-page .map-embed {
  border: 0;
  border-radius: 14px;
  background: #F7F7F4;
  box-shadow: none;
}
.editorial-site-page .info-card { padding: clamp(28px, 4vw, 44px); }
.editorial-site-page .info-card h3 { color: #1F1F1F; }
.editorial-site-page .info-row { border-bottom: 1px solid #E4E4E0; }
.editorial-site-page .info-row .val,
.editorial-site-page .hours-branch strong { color: #757575; }
.editorial-site-page .map-fallback { background: #F7F7F4; }
.editorial-site-page .map-fallback > i { color: #B58A4B; }
.editorial-site-page .map-symbol { border: 0; color: #B58A4B; }

/* Inset, restrained calls to action */
.editorial-site-page .cta-band,
.editorial-site-page .reserve-cta {
  width: min(calc(100% - 2 * clamp(24px, 4vw, 64px)), 1312px);
  margin: 0 auto clamp(24px, 4vw, 64px);
  padding: clamp(62px, 8vw, 104px) clamp(28px, 5vw, 72px);
  overflow: hidden;
  border-radius: 14px;
}
.editorial-site-page .cta-band { background: #1F1F1F; }
.editorial-site-page .cta-band h2 { font-size: clamp(1.65rem, 3vw, 2.5rem); }
.editorial-site-page .reserve-cta { background: #F7F7F4; color: #1F1F1F; }
.editorial-site-page .reserve-cta h2 { color: #1F1F1F; font-size: clamp(1.65rem, 3vw, 2.35rem); }
.editorial-site-page .reserve-cta p { color: #757575; opacity: 1; }

/* Namsan branch landing: retain content, replace viewport hero treatment. */
.editorial-site-page .hero {
  width: min(calc(100% - 2 * clamp(24px, 4vw, 64px)), 1312px);
  min-height: 0;
  height: auto;
  aspect-ratio: 9 / 4;
  margin: 76px auto 0;
  border-radius: 14px;
}
.editorial-site-page .hero-content { max-width: 680px; }
.editorial-site-page .hero h1 { font-size: clamp(2rem, 4vw, 3.55rem); }
.editorial-site-page .hero-badge {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.editorial-site-page .hero-scroll { display: none; }
.editorial-site-page .intro-img img,
.editorial-site-page .sig-card { border-radius: 14px; box-shadow: none; }
.editorial-site-page .signatures { background: #F7F7F4; }
.editorial-site-page .sig-card:hover img { transform: none; }
.editorial-site-page .michelin-strip { background: #F7F7F4; color: #1F1F1F; }
.editorial-site-page .michelin-inner h3 { color: #1F1F1F; }
.editorial-site-page .michelin-inner .m-years span { border: 0; border-bottom: 1px solid #B58A4B; border-radius: 0; }

/* Branch selector and placeholder routes */
.editorial-site-page .branch-context-page {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 150px clamp(24px, 4vw, 64px) 80px;
}
.editorial-site-page .inline-branch-chooser,
.editorial-site-page .main-detail-placeholder { width: 100%; max-width: none; }
.editorial-site-page .inline-branch-chooser__links {
  gap: 18px;
  border-top: 0;
}
.editorial-site-page .inline-branch-chooser__links a,
.editorial-site-page .inline-branch-chooser__links a:first-child,
.editorial-site-page .inline-branch-chooser__links a:last-child {
  padding: 26px;
  border: 0;
  border-radius: 14px;
  background: #F7F7F4;
}
.editorial-site-page .main-detail-placeholder__visual {
  overflow: hidden;
  border-radius: 14px;
  background: #F7F7F4;
}
.editorial-site-page .branch-placeholder {
  width: min(calc(100% - 2 * clamp(24px, 4vw, 64px)), 1312px);
  min-height: 520px;
  margin: 76px auto clamp(24px, 4vw, 64px);
  border-radius: 14px;
}
.editorial-site-page .branch-placeholder h1 { font-size: clamp(2rem, 4vw, 3.25rem); }

@media (max-width: 960px) {
  .editorial-site-page .page-hero { grid-template-columns: .9fr 1.1fr; }
  .editorial-site-page .page-hero img { min-height: 350px; }
  .editorial-site-page .story-block { gap: 34px; }
}

@media (max-width: 720px) {
  .editorial-site-page .site-header { padding: 5px 0; }
  .editorial-site-page .header-inner { min-height: 54px; padding-inline: 18px; }
  .editorial-site-page .site-header .brand-logo { filter: none; }
  .editorial-site-page .site-header .nav-toggle span { background: #1F1F1F; }
  .editorial-site-page .mobile-nav li a { font-family: 'Pretendard', sans-serif; }
  .editorial-site-page .container { padding-inline: 18px; }
  .editorial-site-page .page-hero {
    width: calc(100% - 36px);
    margin-top: 65px;
    grid-template-columns: 1fr;
  }
  .editorial-site-page .page-hero img {
    grid-column: 1;
    grid-row: 1;
    min-height: 0;
    max-height: none;
    aspect-ratio: 4 / 3;
    border-radius: 14px 14px 0 0;
  }
  .editorial-site-page .page-hero .ph-content {
    grid-column: 1;
    grid-row: 2;
    max-width: none;
    padding: 30px 24px 34px;
  }
  .editorial-site-page .page-hero h1 { font-size: clamp(1.75rem, 8vw, 2.25rem); }
  .editorial-site-page .breadcrumb { margin-top: 18px; }
  .editorial-site-page .section { padding: 58px 0; }
  .editorial-site-page .story-block,
  .editorial-site-page .story-block:nth-child(even) .story-img { grid-template-columns: 1fr; }
  .editorial-site-page .story-block:nth-child(even) .story-img { order: 0; }
  .editorial-site-page .story-img { width: 100%; max-width: none; }
  .editorial-site-page .menu-cat { padding: 22px 18px; }
  .editorial-site-page .menu-cat-head { flex-wrap: wrap; gap: 6px 10px; }
  .editorial-site-page .menu-cat-head .cat-note { width: 100%; margin-left: 0; }
  .editorial-site-page .space-grid { grid-template-columns: 1fr; gap: 30px; }
  .editorial-site-page .info-grid { grid-template-columns: 1fr; }
  .editorial-site-page .cta-band,
  .editorial-site-page .reserve-cta {
    width: calc(100% - 36px);
    margin-bottom: 36px;
    border-radius: 14px;
  }
  .editorial-site-page .hero {
    width: calc(100% - 36px);
    height: 360px;
    aspect-ratio: auto;
    margin-top: 65px;
  }
  .editorial-site-page .hero-content { padding-inline: 22px; }
  .editorial-site-page .hero-badge { margin-bottom: 18px; padding-inline: 0; }
  .editorial-site-page .hero .hero-sub { margin-bottom: 24px; }
  .editorial-site-page .branch-context-page { padding: 112px 18px 60px; }
  .editorial-site-page .inline-branch-chooser__links { grid-template-columns: 1fr; gap: 14px; }
  .editorial-site-page .branch-placeholder {
    width: calc(100% - 36px);
    min-height: 510px;
    margin-top: 65px;
  }
}

/* Story/Menu information architecture: searchable answer blocks and FAQ. */
.editorial-site-page .story-answer,
.editorial-site-page .menu-answer { padding-block: clamp(68px, 9vw, 128px) 44px; }
.editorial-site-page .story-answer .container,
.editorial-site-page .menu-answer .container { display:grid; grid-template-columns:minmax(0, 1.45fr) minmax(260px,.75fr); gap:clamp(36px,8vw,110px); align-items:end; }
.story-answer__lead > span, .menu-answer span, .story-faq__head > span, .menu-choice > div > span { display:block; color:#B58A4B; font-size:.73rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; margin-bottom:13px; }
.story-answer h2, .menu-answer h2, .story-faq h2, .menu-choice h2 { font-size:clamp(1.85rem,3.2vw,3rem); font-weight:500; word-break:keep-all; }
.story-answer__lead p, .menu-answer p { margin-top:22px; max-width:720px; color:#555; word-break:keep-all; }
.story-answer__lead p strong, .menu-answer p strong { color:#1F1F1F; font-weight:500; }
.story-answer__links, .menu-answer nav { display:flex; flex-wrap:wrap; gap:10px 18px; padding-bottom:8px; }
.story-answer__links a, .menu-answer nav a { color:#444; font-size:.84rem; border-bottom:1px solid #CFCFC9; padding-bottom:5px; }
.story-answer__links a:hover, .menu-answer nav a:hover { color:#B58A4B; border-color:#B58A4B; }
.editorial-site-page .story-longform { padding-top:30px; }
.editorial-site-page .story-block--feature { margin-top:0; }
.story-kicker { color:#B58A4B !important; font-size:.72rem !important; font-weight:600; letter-spacing:.14em; text-transform:uppercase; margin:0 0 10px !important; }
.story-checklist { list-style:none; margin-top:24px; border-top:1px solid #E4E4E0; }
.story-checklist li { display:grid; grid-template-columns:minmax(128px,.65fr) minmax(0,1.35fr); gap:20px; padding:16px 0; border-bottom:1px solid #E4E4E0; font-size:.94rem; line-height:1.75; }
.story-checklist strong { font-family:'Noto Serif KR',serif; font-weight:500; color:#1F1F1F; }
.story-checklist span { color:#676767; }
.story-note { font-size:.82rem !important; color:#777 !important; margin-top:15px !important; }
.story-location-links { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:28px; border-top:1px solid #E4E4E0; }
.story-location-links a { display:flex; justify-content:space-between; gap:12px; padding:13px 0; border-bottom:1px solid #E4E4E0; color:#333; font-size:.88rem; }
.story-location-links a:nth-child(odd) { padding-right:18px; }
.story-location-links a:nth-child(even) { padding-left:18px; }
.story-location-links a span { color:#B58A4B; }
.story-faq { background:#F7F7F4; }
.story-faq__head { max-width:700px; margin-bottom:36px; }
.story-faq__head p { margin-top:12px; color:#757575; }
.story-faq__list { border-top:1px solid #D9D9D4; }
.story-faq details { border-bottom:1px solid #D9D9D4; }
.story-faq summary { cursor:pointer; list-style:none; position:relative; padding:22px 44px 22px 0; font-family:'Noto Serif KR',serif; font-size:1.04rem; font-weight:500; color:#1F1F1F; }
.story-faq summary::-webkit-details-marker { display:none; }
.story-faq summary::after { content:'+'; position:absolute; right:4px; top:17px; color:#B58A4B; font-family:Arial,sans-serif; font-size:1.5rem; font-weight:300; }
.story-faq details[open] summary::after { content:'−'; }
.story-faq details > div { max-width:900px; padding:0 30px 23px 0; color:#626262; line-height:1.85; }
.story-faq details a { color:#8B652D; text-decoration:underline; text-underline-offset:3px; }
.story-sources { border-top:1px solid #E4E4E0; padding:52px 0; }
.story-sources .container { max-width:1440px; padding-inline:clamp(24px,4vw,64px); }
.story-sources h2 { font-size:1rem; font-family:'Noto Serif KR',serif; font-weight:500; }
.story-sources p { max-width:760px; color:#777; font-size:.84rem; margin:12px 0; }
.story-sources ul { display:flex; flex-wrap:wrap; gap:8px 18px; list-style:none; }
.story-sources a { color:#555; font-size:.8rem; border-bottom:1px solid #CFCFC9; }
.editorial-site-page .menu-visit-note { display:flex; align-items:flex-start; gap:18px; margin-bottom:32px; padding:18px 20px; background:#F7F7F4; color:#666; font-size:.86rem; line-height:1.75; }
.menu-visit-note strong { flex:0 0 auto; color:#1F1F1F; font-family:'Noto Serif KR',serif; font-weight:500; }
.editorial-site-page .menu-item { align-items:flex-start; }
.editorial-site-page .mi-name { margin:0; font-family:'Noto Serif KR',serif; font-size:1.08rem; font-weight:500; color:#1F1F1F; }
.editorial-site-page .mi-price { white-space:nowrap; }
.editorial-site-page .mi-price small { margin-left:2px; color:#777; font-size:.72rem; font-weight:400; }
.menu-choice { display:grid; grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr); gap:clamp(34px,7vw,90px); padding:72px 0; margin-top:32px; border-top:1px solid #E4E4E0; }
.menu-choice__grid { display:grid; gap:0; border-top:1px solid #E4E4E0; }
.menu-choice__grid article { padding:17px 0; border-bottom:1px solid #E4E4E0; }
.menu-choice__grid h3 { font-size:1rem; font-weight:500; }
.menu-choice__grid p { margin-top:5px; color:#6a6a6a; font-size:.9rem; line-height:1.7; }
.editorial-site-page .menu-guide h2 { font-size:1.2rem; }
.editorial-site-page .menu-faq { background:#F7F7F4; }
@media (max-width:760px) {
 .editorial-site-page .story-answer .container, .editorial-site-page .menu-answer .container, .menu-choice { grid-template-columns:1fr; gap:28px; }
 .editorial-site-page .story-answer, .editorial-site-page .menu-answer { padding-top:72px; }
 .story-checklist li { grid-template-columns:1fr; gap:5px; }
 .story-location-links { grid-template-columns:1fr; }
 .story-location-links a:nth-child(odd), .story-location-links a:nth-child(even) { padding-left:0; padding-right:0; }
 .editorial-site-page .menu-visit-note { display:block; }
 .menu-visit-note strong { display:block; margin-bottom:5px; }
 .story-faq summary { padding-block:19px; font-size:.98rem; }
 .story-faq details > div { padding-right:0; }
 .story-sources { padding-block:40px; }
}

/* Space hub: branch information first, then the official blog integration area. */
.branch-context-page--space { min-height:auto; }
.space-blog-hub { width:min(100%,1120px); margin:clamp(82px,12vw,148px) auto 20px; padding-top:clamp(48px,7vw,82px); border-top:1px solid #1F1F1F; }
.space-blog-hub__head { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.55fr); gap:clamp(32px,7vw,96px); align-items:end; margin-bottom:38px; }
.space-blog-hub__head > span { grid-column:1 / -1; display:block; color:#B58A4B; font-size:.73rem; font-weight:600; letter-spacing:.14em; }
.space-blog-hub h2 { font-size:clamp(1.7rem,3.2vw,2.7rem); font-weight:500; word-break:keep-all; }
.space-blog-hub__head p { color:#757575; word-break:keep-all; }
.space-blog-hub__slot { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; min-height:220px; padding:clamp(24px,4vw,46px); background:#F7F7F4; border:1px solid #E4E4E0; }
.space-blog-hub__slot strong { display:block; margin-bottom:12px; font-size:.76rem; letter-spacing:.14em; color:#1F1F1F; }
.space-blog-hub__slot p { max-width:560px; color:#666; font-size:.94rem; line-height:1.8; word-break:keep-all; }
.space-blog-hub__slot > span { color:#B58A4B; font-size:.7rem; letter-spacing:.12em; white-space:nowrap; }
@media (max-width:760px) { .space-blog-hub { margin-top:76px; } .space-blog-hub__head { grid-template-columns:1fr; gap:16px; } .space-blog-hub__slot { display:block; min-height:190px; } .space-blog-hub__slot > span { display:block; margin-top:28px; } }

/* Menu book: touch, click, and keyboard-operated image pages. */
.editorial-menu-page .menu-book { width:min(100% - 128px, 1312px); min-height:520px; margin:100px auto 0; display:grid; grid-template-columns:minmax(330px,.75fr) minmax(0,1.25fr); overflow:hidden; border-radius:14px; background:#F7F7F4; }
.menu-book__copy { display:flex; flex-direction:column; align-items:flex-start; padding:clamp(38px,6vw,82px); color:#1F1F1F; }
.menu-book__eyebrow { margin:0 0 28px; color:#B58A4B; font-size:.72rem; font-weight:600; letter-spacing:.16em; }
.menu-book__copy-pages { position:relative; width:100%; flex:1; min-height:220px; }
.menu-book__copy-page { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; opacity:0; transform:translateX(14px); pointer-events:none; transition:opacity .4s ease, transform .4s ease; }
.menu-book__copy-page.is-active { opacity:1; transform:none; pointer-events:auto; }
.menu-book__copy-page h1, .menu-book__copy-page h2 { font-size:clamp(2rem,3.5vw,3.6rem); font-weight:500; line-height:1.25; word-break:keep-all; }
.menu-book__copy-page p { max-width:370px; margin-top:22px; color:#707070; line-height:1.9; word-break:keep-all; }
.menu-book__controls { display:flex; align-items:center; gap:18px; margin-top:25px; }
.menu-book__controls button { width:36px; height:36px; border:1px solid #D5D5D1; border-radius:50%; background:transparent; color:#1F1F1F; font-size:1rem; cursor:pointer; transition:.2s ease; }
.menu-book__controls button:hover, .menu-book__controls button:focus-visible { border-color:#B58A4B; color:#B58A4B; outline:none; }
.menu-book__controls span { color:#777; font-size:.75rem; letter-spacing:.11em; }
.menu-book__controls b { color:#B58A4B; font-weight:600; }
.menu-book__hint { margin-top:16px; color:#969696; font-size:.74rem; }
.menu-book__visual { position:relative; overflow:hidden; min-height:520px; touch-action:pan-y; background:#E4E4E0; outline:none; }
.menu-book__visual:focus-visible { outline:2px solid #B58A4B; outline-offset:-4px; }
.menu-book__image { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; opacity:0; transform:translateX(7%); transition:opacity .48s ease, transform .48s cubic-bezier(.2,.65,.25,1); pointer-events:none; }
.menu-book__image.is-active { opacity:1; transform:none; }
.menu-book__dots { position:absolute; z-index:2; right:24px; bottom:22px; display:flex; gap:7px; }
.menu-book__dots button { padding:5px 2px; border:0; border-bottom:1px solid rgba(255,255,255,.45); background:transparent; color:rgba(255,255,255,.72); font-size:.66rem; letter-spacing:.08em; cursor:pointer; }
.menu-book__dots button[aria-selected="true"] { color:#fff; border-color:#fff; }
@media (max-width:760px) { .editorial-menu-page .menu-book { width:calc(100% - 36px); min-height:0; margin-top:88px; grid-template-columns:1fr; border-radius:14px; } .menu-book__copy { min-height:290px; padding:32px 26px 28px; } .menu-book__copy-pages { min-height:158px; } .menu-book__copy-page h1, .menu-book__copy-page h2 { font-size:2rem; } .menu-book__copy-page p { margin-top:14px; font-size:.91rem; } .menu-book__eyebrow { margin-bottom:14px; } .menu-book__hint { display:none; } .menu-book__visual { min-height:270px; aspect-ratio:4/3; } }

/* Shared visit information in the established editorial palette. */
.branch-context-page--info { min-height:auto; }
.visit-guide { width:min(100%,1120px); margin:0 auto clamp(74px,10vw,126px); padding-top:20px; }
.visit-guide__intro { max-width:720px; margin-bottom:38px; }
.visit-guide__intro > span { display:block; margin-bottom:13px; color:#B58A4B; font-size:.73rem; font-weight:600; letter-spacing:.14em; }
.visit-guide__intro h2 { font-size:clamp(1.8rem,3vw,2.7rem); font-weight:500; }
.visit-guide__intro p { margin-top:14px; color:#757575; word-break:keep-all; }
.visit-guide__list { border-top:1px solid #1F1F1F; }
.visit-guide__list > div { display:grid; grid-template-columns:165px minmax(0,1fr); gap:24px; padding:20px 0; border-bottom:1px solid #E4E4E0; }
.visit-guide dt { font-family:'Noto Serif KR',serif; font-size:1.03rem; font-weight:500; color:#1F1F1F; }
.visit-guide dd { margin:0; color:#454545; line-height:1.8; }
.visit-guide dd a { color:#8B652D; }
.visit-guide dd strong { font-weight:600; color:#1F1F1F; }
.visit-guide dd small { color:#777; font-size:.88em; }
.visit-guide__actions { display:flex; gap:10px; margin-top:30px; }
.visit-guide__actions a { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; min-width:176px; padding:15px 18px; border:1px solid #1F1F1F; color:#1F1F1F; font-size:.88rem; }
.visit-guide__actions a:first-child { border-color:#B58A4B; background:#B58A4B; color:#fff; }
.visit-guide__actions span { font-size:1rem; }
@media (max-width:760px) { .visit-guide { margin-bottom:70px; } .visit-guide__list > div { grid-template-columns:1fr; gap:5px; padding:17px 0; } .visit-guide__actions { flex-direction:column; } .visit-guide__actions a { width:100%; } }

/* Main branch visit page: information cards, no legacy exterior placeholder. */
.main-info-page { min-height:100svh; padding:104px clamp(24px,4vw,64px) 62px; background:#FFFFFF; }
.main-info-cards { width:min(100%,1050px); margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.85fr); gap:18px; }
.main-info-card { border:1px solid #E4E4E0; border-radius:14px; overflow:hidden; }
.main-info-card--details { padding:clamp(28px,4vw,48px); background:#F7F7F4; }
.main-info-card__eyebrow { margin:0 0 13px; color:#B58A4B; font-size:.72rem; font-weight:600; letter-spacing:.14em; }
.main-info-card h1, .main-info-card h2 { font-size:clamp(1.7rem,3vw,2.5rem); font-weight:500; word-break:keep-all; }
.main-info-card dl { margin-top:29px; border-top:1px solid #E4E4E0; }
.main-info-card dl > div { display:grid; grid-template-columns:125px minmax(0,1fr); gap:18px; padding:16px 0; border-bottom:1px solid #E4E4E0; }
.main-info-card dt { font-family:'Noto Serif KR',serif; font-weight:500; }.main-info-card dd { margin:0; color:#444; line-height:1.75; }.main-info-card dd a { color:#8B652D; }.main-info-card dd small,.main-info-card--map small { color:#777; }
.main-info-card__actions { display:flex; gap:10px; margin-top:26px; }.main-info-card__actions a,.main-info-card__actions .is-pending { flex:1; display:flex; justify-content:space-between; padding:14px 16px; border:1px solid #D4D4CF; color:#1F1F1F; font-size:.86rem; }.main-info-card__actions .is-pending { align-items:center; color:#777; background:#F7F7F4; }.main-info-card__actions a:first-child { background:transparent; border-color:#B58A4B; color:#8B652D; }
.main-info-card--map { display:grid; place-items:center; min-height:100%; background:#F7F7F4; text-align:center; }.main-info-card--map > div { max-width:520px; padding:44px 28px; }.main-info-card--map h2 { margin-bottom:18px; }.main-info-card--map > div > p:not(.main-info-card__eyebrow) { color:#666; }.direction-map { margin:22px 0 16px; background:#fff; border:1px solid #E4E4E0; }.direction-map img { display:block; width:100%; height:auto; }.direction-map figcaption { padding:9px 12px; color:#757575; font-size:.74rem; letter-spacing:.025em; }.direction-map__copy { text-align:left; color:#5E5E5A; font-size:.88rem; line-height:1.65; }.direction-map__copy p { margin:8px 0; }.direction-map__copy strong { color:#1F1F1F; font-family:'Noto Serif KR',serif; font-weight:500; }.main-info-card--map nav { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:24px; }.main-info-card--map nav a { padding:12px 15px; border:1px solid #D4D4CF; border-radius:999px; font-size:.78rem; letter-spacing:.07em; }
@media (max-width:760px) { .main-info-page { padding:88px 18px 44px; }.main-info-cards { grid-template-columns:1fr; gap:16px; }.main-info-card--map { min-height:360px; }.main-info-card dl > div { grid-template-columns:1fr; gap:4px; }.main-info-card__actions { flex-direction:column; }.main-info-card--map nav { flex-direction:column; }.main-info-card--map nav a { width:100%; } }

/* Generic Info: branch-first cards keep reservations and maps unambiguous. */
.two-branch-guide { width:min(100%,1120px); margin:0 auto 82px; }
.two-branch-guide__head { max-width:720px; margin-bottom:38px; }.two-branch-guide__head > span,.two-branch-guide__card > span { display:block; color:#B58A4B; font-size:.72rem; font-weight:600; letter-spacing:.14em; }.two-branch-guide__head h1 { margin:13px 0; font-size:clamp(1.85rem,3.2vw,2.8rem); font-weight:500; }.two-branch-guide__head p { color:#757575; word-break:keep-all; }
.two-branch-guide__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.two-branch-guide__card { padding:32px; border:1px solid #E4E4E0; border-radius:14px; background:#F7F7F4; }.two-branch-guide__card h2 { margin:13px 0 8px; font-size:clamp(1.35rem,2.2vw,1.85rem); font-weight:500; }.two-branch-guide__card > p { color:#757575; }
.two-branch-guide__card dl { margin-top:25px; border-top:1px solid #E4E4E0; }.two-branch-guide__card dl > div { display:grid; grid-template-columns:92px 1fr; gap:14px; padding:13px 0; border-bottom:1px solid #E4E4E0; }.two-branch-guide__card dt { font-family:'Noto Serif KR',serif; font-weight:500; }.two-branch-guide__card dd { margin:0; color:#4A4A4A; }.two-branch-guide__card small { color:#777; }
.two-branch-guide__card nav { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:24px; }.two-branch-guide__card nav a { display:flex; align-items:center; justify-content:space-between; padding:12px 13px; border:1px solid #D4D4CF; color:#444; font-size:.76rem; letter-spacing:.06em; }.two-branch-guide__card nav .two-branch-guide__detail { grid-column:1/-1; border-color:#B58A4B; color:#8B652D; }.two-branch-guide__card b { font-size:.95rem; font-weight:400; }
@media (max-width:760px) { .two-branch-guide { margin-bottom:60px; }.two-branch-guide__grid { grid-template-columns:1fr; }.two-branch-guide__card { padding:25px; } }

/* 2026-09-11 Visit Guide: dual-branch map and branch-locked guidance. */
.branch-choice-page { background:#FFFFFF; }
.branch-choice-page #main-content { padding-top:76px; }
.visit-guide { width:min(100%,1240px); margin:0 auto; padding:clamp(42px,6vw,78px) clamp(20px,4vw,46px) 74px; color:#1F1F1F; }
.visit-guide__hero { max-width:720px; }
.visit-guide__eyebrow { display:flex; align-items:center; gap:11px; margin:0; color:#B58A4B; font:600 .72rem/1 Pretendard,sans-serif; letter-spacing:.16em; }
.visit-guide__eyebrow::before { content:''; width:30px; height:1px; background:#B58A4B; }.visit-guide__eyebrow span { color:#757575; letter-spacing:.08em; }
.visit-guide__hero h1 { margin:17px 0 15px; font-family:'Noto Serif KR',serif; font-size:clamp(2.1rem,4.2vw,3.65rem); font-weight:600; line-height:1.22; letter-spacing:-.045em; word-break:keep-all; }.visit-guide__hero h1 em { color:#B58A4B; font-style:normal; }
.visit-guide__hero > p:last-child { max-width:620px; margin:0; color:#757575; font-size:.98rem; line-height:1.8; word-break:keep-all; }
.visit-guide__picker { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:34px; padding:9px; border:1px solid #E4E4E0; background:#FFFFFF; }
.visit-guide__picker button { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:15px; align-items:center; min-height:106px; padding:19px 20px; border:0; background:#FFFFFF; color:#1F1F1F; text-align:left; transition:background .2s,color .2s; }.visit-guide__picker button:hover { background:#F7F7F4; }.visit-guide__picker button.is-active { background:#1F1F1F; color:#FFFFFF; }
.visit-guide__pin { display:grid; width:50px; height:50px; place-items:center; border:1px solid #E4E4E0; border-radius:50%; background:#F7F7F4; color:#B58A4B; font-family:'Noto Serif KR',serif; font-size:1.28rem; font-weight:600; }.visit-guide__picker button.is-active .visit-guide__pin { border-color:#FFFFFF; background:#FFFFFF; color:#1F1F1F; }
.visit-guide__picker b,.visit-guide__picker strong,.visit-guide__picker small { display:block; }.visit-guide__picker b { color:#757575; font-size:.64rem; letter-spacing:.15em; }.visit-guide__picker strong { margin:4px 0; font-family:'Noto Serif KR',serif; font-size:1.24rem; font-weight:600; }.visit-guide__picker small { color:#757575; font-size:.75rem; }.visit-guide__picker button.is-active b,.visit-guide__picker button.is-active small { color:#D4D4CF; }.visit-guide__picker i { font-size:.68rem; font-style:normal; color:#B58A4B; letter-spacing:.08em; }.visit-guide__picker button.is-active i { color:#FFFFFF; }
.visit-guide__split { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(340px,1fr); gap:26px; align-items:start; margin-top:28px; }.visit-guide__details { display:grid; gap:20px; }
.visit-map-card,.visit-info-card,.visit-journey-card { border:1px solid #E4E4E0; background:#FFFFFF; }.visit-map-card { position:sticky; top:96px; }.visit-map-card > header,.visit-map-card > footer { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 21px; }.visit-map-card h2,.visit-journey-card h2 { margin:0; font-family:'Noto Serif KR',serif; font-size:1.12rem; font-weight:600; }.visit-map-card > header span { color:#757575; font-size:.68rem; letter-spacing:.1em; }.visit-map-card figure { position:relative; margin:0; background:#F7F7F4; overflow:hidden; }.visit-map-card figure img { display:block; width:100%; height:auto; }.visit-map-card > footer { border-top:1px solid #E4E4E0; color:#757575; font-size:.72rem; }.visit-map-card footer > span { display:flex; align-items:center; gap:6px; }.visit-map-card footer i { width:8px; height:8px; border-radius:50%; background:#B58A4B; }.visit-map-card nav { display:flex; gap:7px; }.visit-map-card nav a { padding:8px 10px; border:1px solid #D4D4CF; color:#1F1F1F; font-size:.65rem; letter-spacing:.06em; }.visit-map-card nav a:hover { border-color:#B58A4B; color:#B58A4B; }
.visit-map-spot { position:absolute; width:27px; height:27px; border:4px solid #FFFFFF; border-radius:50%; background:#B58A4B; box-shadow:0 0 0 7px rgba(181,138,75,.32),0 0 0 16px rgba(181,138,75,.16); transform:translate(-50%,-50%); animation:visitMapPulse 2.2s infinite; opacity:1; transition:opacity .45s,transform .45s; }.visit-map-spot--main { left:54.9%; top:44.4%; }.visit-map-spot--tower { left:35%; top:79.1%; }.visit-map-spot.is-hidden { opacity:0; transform:translate(-50%,-50%) scale(.28); } @keyframes visitMapPulse { 50% { box-shadow:0 0 0 10px rgba(181,138,75,.26),0 0 0 23px rgba(181,138,75,.07); } }
.visit-info-card { padding:28px; }.visit-info-card header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }.visit-info-card header p { margin:0 0 8px; color:#B58A4B; font-size:.68rem; font-weight:600; letter-spacing:.13em; }.visit-info-card h2 { margin:0; font-family:'Noto Serif KR',serif; font-size:clamp(1.55rem,2.6vw,2.2rem); font-weight:600; word-break:keep-all; }.visit-info-card header > span { padding:6px 9px; background:#F7F7F4; color:#B58A4B; font-size:.65rem; letter-spacing:.08em; white-space:nowrap; }.visit-info-card > p { margin:18px 0 21px; color:#5E5E5A; font-size:.88rem; line-height:1.75; word-break:keep-all; }.visit-info-card dl { margin:0; border-top:1px solid #E4E4E0; }.visit-info-card dl > div { display:grid; grid-template-columns:67px minmax(0,1fr); gap:13px; padding:13px 0; border-bottom:1px dashed #D4D4CF; }.visit-info-card dt { color:#757575; font-size:.67rem; letter-spacing:.1em; }.visit-info-card dd { margin:0; color:#444; font-size:.82rem; line-height:1.62; word-break:keep-all; }.visit-info-card nav { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:20px; }.visit-info-card nav a { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 14px; border:1px solid #D4D4CF; color:#1F1F1F; font-size:.76rem; }.visit-info-card nav a:hover { border-color:#B58A4B; color:#B58A4B; }.visit-info-card nav .visit-info-card__primary { grid-column:1/-1; border-color:#1F1F1F; background:#1F1F1F; color:#FFFFFF; }.visit-info-card nav .visit-info-card__primary:hover { border-color:#B58A4B; background:#B58A4B; color:#FFFFFF; }
.visit-journey-card { padding:24px 27px; }.visit-journey-card header { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }.visit-journey-card header span { color:#757575; font-size:.7rem; }.visit-journey-card ol { position:relative; display:grid; gap:0; margin:17px 0 0; padding:0; list-style:none; }.visit-journey-card ol::before { content:''; position:absolute; top:22px; bottom:22px; left:16px; border-left:1px dashed #D4D4CF; }.visit-journey-card li { position:relative; display:grid; grid-template-columns:33px minmax(0,1fr); gap:13px; align-items:center; padding:10px 0; }.visit-journey-card li > b { display:grid; width:33px; height:33px; place-items:center; border:1px solid #1F1F1F; border-radius:50%; background:#FFFFFF; font-family:'Noto Serif KR',serif; font-size:.78rem; z-index:1; }.visit-journey-card li:last-child > b { border-color:#B58A4B; background:#B58A4B; color:#FFFFFF; }.visit-journey-card li strong,.visit-journey-card li span { display:block; }.visit-journey-card li strong { font-family:'Noto Serif KR',serif; font-size:.84rem; font-weight:600; }.visit-journey-card li span { margin-top:2px; color:#757575; font-size:.72rem; line-height:1.5; }
.visit-guide__notes { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-top:27px; }.visit-guide__notes article { padding:22px; border:1px solid #E4E4E0; }.visit-guide__notes span { color:#B58A4B; font-size:.64rem; font-weight:600; letter-spacing:.12em; }.visit-guide__notes h2 { margin:10px 0 7px; font-family:'Noto Serif KR',serif; font-size:1rem; font-weight:600; }.visit-guide__notes p { margin:0; color:#757575; font-size:.78rem; line-height:1.7; word-break:keep-all; }
@media (max-width:920px) { .visit-guide__split { grid-template-columns:1fr; }.visit-map-card { position:static; }.visit-map-card figure img { max-height:none; }.visit-guide__details { grid-row:2; } }
@media (max-width:640px) { .branch-choice-page #main-content { padding-top:68px; }.visit-guide { padding:32px 17px 48px; }.visit-guide__hero h1 { font-size:2.15rem; }.visit-guide__picker { grid-template-columns:1fr; margin-top:25px; }.visit-guide__picker button { min-height:90px; padding:16px; }.visit-guide__picker i { display:none; }.visit-guide__split { gap:16px; margin-top:16px; }.visit-map-card > header,.visit-map-card > footer { padding:14px; }.visit-map-card > footer { align-items:flex-start; flex-direction:column; }.visit-map-card nav { width:100%; }.visit-map-card nav a { flex:1; text-align:center; }.visit-info-card,.visit-journey-card { padding:22px 18px; }.visit-info-card nav { grid-template-columns:1fr; }.visit-info-card nav .visit-info-card__primary { grid-column:auto; }.visit-guide__notes { grid-template-columns:1fr; gap:10px; margin-top:16px; } }

/* Tone alignment: use the site editorial system, not a separate campaign style. */
.visit-guide__eyebrow::before { display:none; }
.visit-guide__eyebrow { gap:8px; color:#B58A4B; letter-spacing:.12em; }
.visit-guide__hero h1 { color:#1F1F1F; font-size:clamp(2rem,3.5vw,2.8rem); font-weight:500; line-height:1.28; letter-spacing:-.035em; }
.visit-guide__hero h1 em { color:#1F1F1F; }
.visit-guide__hero > p:last-child { color:#757575; font-size:.96rem; }
.visit-guide__picker { gap:0; padding:0; border-left:0; border-right:0; }
.visit-guide__picker button { min-height:96px; background:#FFFFFF; border-right:1px solid #E4E4E0; }
.visit-guide__picker button:last-child { border-right:0; }
.visit-guide__picker button:hover,.visit-guide__picker button.is-active { background:#F7F7F4; color:#1F1F1F; box-shadow:inset 3px 0 0 #B58A4B; }
.visit-guide__picker button.is-active .visit-guide__pin { border-color:#B58A4B; background:#FFFFFF; color:#B58A4B; }
.visit-guide__picker button.is-active b,.visit-guide__picker button.is-active small { color:#757575; }.visit-guide__picker button.is-active i { color:#B58A4B; }
.visit-map-card,.visit-info-card,.visit-journey-card { border-color:#E4E4E0; box-shadow:none; }.visit-info-card { background:#FFFFFF; }.visit-info-card nav .visit-info-card__primary { border-color:#B58A4B; background:#FFFFFF; color:#8B652D; }.visit-info-card nav .visit-info-card__primary:hover { background:#F7F7F4; color:#8B652D; }
@media (max-width:640px) { .visit-guide__hero h1 { font-size:2rem; }.visit-guide__picker button { border-right:0; border-bottom:1px solid #E4E4E0; }.visit-guide__picker button:last-child { border-bottom:0; } }

/* Branch-card header: branch label and both map controls stay above the photo. */
.editorial-home-page .editorial-tile {
  overflow:hidden;
  background:#F7F7F4;
}
.editorial-home-page .editorial-tile__header {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:16px 18px;
  background:#F7F7F4;
}
.editorial-home-page .editorial-tile__header > strong {
  min-width:0;
  color:#1F1F1F;
  font-family:'Noto Serif KR',serif;
  font-size:clamp(1.45rem,2vw,1.9rem);
  font-weight:500;
  line-height:1.32;
  word-break:keep-all;
}
.editorial-home-page .editorial-tile__maps {
  position:static;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:0;
}
.editorial-home-page .editorial-tile__maps a {
  display:grid;
  min-width:92px;
  min-height:38px;
  place-items:center;
  padding:7px 10px;
  border:1px solid #D4D4CF;
  border-radius:8px;
  background:#FFFFFF;
  color:#8B652D;
  font-size:.64rem;
  font-weight:600;
  letter-spacing:.03em;
  white-space:nowrap;
}
.editorial-home-page .editorial-tile__maps a:hover {
  border-color:#B58A4B;
  background:#FFFFFF;
  text-decoration:none;
}
.editorial-home-page .editorial-tile__maps a:focus-visible {
  outline:2px solid #B58A4B;
  outline-offset:2px;
  border-color:#B58A4B;
  background:#FFFFFF;
  text-decoration:none;
}
.editorial-home-page .editorial-tile__primary { display:block; min-height:0; }
.editorial-home-page .editorial-tile__image { display:block; width:100%; height:auto; aspect-ratio:4 / 4.25; border-radius:0 0 10px 10px; }

@media (max-width:720px) {
  .editorial-strip { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .editorial-tile { min-height:0; border-radius:12px; }
  .editorial-home-page .editorial-tile__header {
    grid-template-columns:1fr;
    align-content:start;
    gap:10px;
    padding:14px 10px 11px;
  }
  .editorial-home-page .editorial-tile__header > strong {
    font-size:clamp(1.12rem,4.7vw,1.34rem);
  }
  .editorial-home-page .editorial-tile__maps { gap:6px; }
  .editorial-home-page .editorial-tile__maps a {
    min-width:0;
    min-height:34px;
    padding:6px 4px;
    font-size:.52rem;
    letter-spacing:.01em;
  }
  .editorial-home-page .editorial-tile__image { aspect-ratio:1 / .78; }
  .editorial-tile__image img { object-position:center; }
}

/* Home content architecture: menu, brand proof, seasons, visit guide, and journal. */
.editorial-home-page .home-signature,.editorial-home-page .home-seasons { padding:clamp(64px,8vw,112px) 0; border-bottom:1px solid #E4E4E0; }.editorial-home-page .home-signature > header,.editorial-home-page .home-seasons > header { max-width:650px; margin-bottom:34px; }.editorial-home-page .home-signature > header > span,.editorial-home-page .home-seasons > header > span,.editorial-home-page .home-reason > div > span,.editorial-home-page .home-visit span,.editorial-home-page .home-journal > span { display:block; color:#B58A4B; font-size:.7rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }.editorial-home-page .home-signature h2,.editorial-home-page .home-seasons h2,.editorial-home-page .home-reason h2,.editorial-home-page .home-visit h2,.editorial-home-page .home-journal h2 { margin:12px 0; font-family:'Noto Serif KR',serif; font-size:clamp(1.75rem,3vw,2.55rem); font-weight:500; line-height:1.35; letter-spacing:-.035em; word-break:keep-all; }.editorial-home-page .home-signature header p,.editorial-home-page .home-seasons header p,.editorial-home-page .home-reason p,.editorial-home-page .home-visit p,.editorial-home-page .home-journal p { margin:0; color:#757575; font-size:.94rem; line-height:1.8; word-break:keep-all; }
.editorial-home-page .home-signature__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.editorial-home-page .home-signature__grid figure { margin:0; overflow:hidden; border-radius:10px; background:#F7F7F4; aspect-ratio:1 / .85; }.editorial-home-page .home-signature__grid img { width:100%; height:100%; object-fit:cover; }.editorial-home-page .home-signature__grid h3 { margin:17px 0 7px; font-family:'Noto Serif KR',serif; font-size:1.2rem; font-weight:500; }.editorial-home-page .home-signature__grid p { margin:0; color:#757575; font-size:.83rem; line-height:1.65; }.editorial-home-page .home-section-link { display:inline-flex; gap:14px; margin-top:31px; padding-bottom:5px; border-bottom:1px solid #B58A4B; color:#1F1F1F; font-size:.76rem; font-weight:600; letter-spacing:.08em; }.editorial-home-page .home-section-link:hover { color:#8B652D; }
.editorial-home-page .home-reason { display:grid; grid-template-columns:minmax(0,.95fr) minmax(300px,1fr); gap:clamp(38px,7vw,94px); align-items:center; padding:clamp(70px,9vw,126px) 0; border-bottom:1px solid #E4E4E0; }.editorial-home-page .home-reason figure { margin:0; overflow:hidden; border-radius:10px; background:#F7F7F4; aspect-ratio:1 / 1.08; }.editorial-home-page .home-reason img { width:100%; height:100%; object-fit:cover; object-position:center; }
.editorial-home-page .home-seasons__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }.editorial-home-page .home-seasons__grid figure { position:relative; margin:0; overflow:hidden; border-radius:10px; aspect-ratio:1 / 1.28; background:#F7F7F4; }.editorial-home-page .home-seasons__grid img { width:100%; height:100%; object-fit:cover; }.editorial-home-page .home-seasons__grid figcaption { position:absolute; left:14px; bottom:12px; color:#FFFFFF; font-family:'Noto Serif KR',serif; font-size:1.05rem; text-shadow:0 1px 10px rgba(0,0,0,.4); }
.editorial-home-page .home-visit { display:flex; align-items:end; justify-content:space-between; gap:32px; padding:clamp(58px,7vw,96px) 0; border-bottom:1px solid #E4E4E0; }.editorial-home-page .home-visit > div { max-width:650px; }.editorial-home-page .home-visit > a { display:flex; align-items:center; justify-content:space-between; gap:36px; min-width:190px; padding:16px 18px; border:1px solid #D4D4CF; color:#1F1F1F; font-size:.79rem; letter-spacing:.06em; }.editorial-home-page .home-visit > a:hover { border-color:#B58A4B; color:#8B652D; }
.editorial-home-page .home-journal { padding:clamp(58px,8vw,104px) 0 12px; text-align:center; }.editorial-home-page .home-journal > span:first-child { color:#B58A4B; }.editorial-home-page .home-journal h2 { margin-inline:auto; }.editorial-home-page .home-journal p { max-width:480px; margin:0 auto; }.editorial-home-page .home-journal__status { display:inline-block; margin-top:22px; padding:8px 10px; border:1px solid #D4D4CF; color:#757575; font-size:.62rem; letter-spacing:.09em; }
@media (max-width:720px) { .editorial-home-page .home-signature,.editorial-home-page .home-seasons { padding:54px 0; }.editorial-home-page .home-signature > header,.editorial-home-page .home-seasons > header { margin-bottom:24px; }.editorial-home-page .home-signature h2,.editorial-home-page .home-seasons h2,.editorial-home-page .home-reason h2,.editorial-home-page .home-visit h2,.editorial-home-page .home-journal h2 { font-size:1.65rem; }.editorial-home-page .home-signature__grid { grid-template-columns:1fr; gap:12px; }.editorial-home-page .home-signature__grid article { display:grid; grid-template-columns:112px minmax(0,1fr); grid-template-rows:auto 1fr; column-gap:13px; min-height:132px; padding:10px; border-radius:12px; background:#F7F7F4; align-items:start; }.editorial-home-page .home-signature__grid figure { grid-column:1; grid-row:1 / -1; width:112px; min-height:112px; height:112px; margin:0; aspect-ratio:1; border-radius:9px; }.editorial-home-page .home-signature__grid h3 { grid-column:2; grid-row:1; margin:8px 0 5px; font-size:1.08rem; line-height:1.35; }.editorial-home-page .home-signature__grid p { grid-column:2; grid-row:2; align-self:start; margin:0; font-size:.77rem; line-height:1.62; }.editorial-home-page .home-reason { grid-template-columns:1fr; gap:25px; padding:58px 0; }.editorial-home-page .home-reason figure { aspect-ratio:1.45 / 1; }.editorial-home-page .home-seasons__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.editorial-home-page .home-seasons__grid figure { aspect-ratio:1 / .88; }.editorial-home-page .home-visit { display:grid; gap:22px; padding:54px 0; }.editorial-home-page .home-visit > a { width:100%; }.editorial-home-page .home-journal { padding-top:56px; }.editorial-home-page .home-journal__status { margin-top:18px; } }

/* Visit guide: round every functional surface consistently. */
.visit-guide__picker button { border-radius:12px; }.visit-map-card,.visit-info-card,.visit-journey-card,.visit-guide__notes article { border-radius:12px; }.visit-map-card { overflow:hidden; }.visit-map-card > header,.visit-map-card > footer { background:#FFFFFF; }.visit-map-card nav a,.visit-info-card nav a,.visit-guide__picker button { border-radius:8px; }.visit-map-card figure { overflow:hidden; }.visit-guide__notes article { overflow:hidden; }

/* Mobile branch picker: show both locations side by side. */
@media (max-width:720px) { .visit-guide__picker { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.visit-guide__picker button { min-width:0; min-height:96px; padding:11px 10px; align-items:flex-start; gap:8px; }.visit-guide__picker .visit-guide__pin { flex:0 0 31px; width:31px; height:31px; font-size:.9rem; }.visit-guide__picker b { margin-top:1px; font-size:.5rem; letter-spacing:.08em; line-height:1.3; }.visit-guide__picker strong { margin:5px 0 0; font-size:.92rem; line-height:1.28; word-break:keep-all; }.visit-guide__picker small { display:none; } }

.editorial-home-page .home-why { padding:clamp(96px,11vw,154px) 0 clamp(72px,8vw,112px); border-bottom:1px solid #E4E4E0; }.editorial-home-page .home-why > header,.editorial-home-page .home-signature-list > header { max-width:680px; }.editorial-home-page .home-why > header > span,.editorial-home-page .home-signature-list > header > span { display:block; color:#B58A4B; font-size:.7rem; font-weight:600; letter-spacing:.13em; }.editorial-home-page .home-why h2,.editorial-home-page .home-signature-list h2 { margin:13px 0 15px; font-family:'Noto Serif KR',serif; font-size:clamp(1.85rem,3.15vw,2.65rem); font-weight:500; line-height:1.34; letter-spacing:-.035em; word-break:keep-all; }.editorial-home-page .home-why > header p { margin:0; color:#757575; font-size:.95rem; line-height:1.8; word-break:keep-all; }.editorial-home-page .home-why__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:52px; }.editorial-home-page .home-why__grid article { padding:0 clamp(22px,3vw,46px); border-left:1px solid #E4E4E0; }.editorial-home-page .home-why__grid article:first-child { padding-left:0; border-left:0; }.editorial-home-page .home-why__grid article > span { color:#B58A4B; font-size:.68rem; font-weight:400; letter-spacing:.12em; }.editorial-home-page .home-why__grid h3 { margin:15px 0 10px; font-family:'Noto Serif KR',serif; font-size:clamp(1.1rem,1.5vw,1.32rem); font-weight:500; line-height:1.45; word-break:keep-all; }.editorial-home-page .home-why__grid p { margin:0; color:#757575; font-size:.84rem; line-height:1.75; word-break:keep-all; }
.editorial-home-page .home-signature-list { padding:clamp(72px,9vw,122px) 0; border-bottom:1px solid #E4E4E0; }.editorial-home-page .home-signature-list__items { margin-top:38px; border-top:1px solid #E4E4E0; }.editorial-home-page .home-signature-list__items a { display:block; padding:22px 0 20px; border-bottom:1px solid #E4E4E0; color:#1F1F1F; transition:padding .2s ease,color .2s ease; }.editorial-home-page .home-signature-list__items h3 { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0; font-family:'Noto Serif KR',serif; font-size:clamp(1.15rem,1.8vw,1.5rem); font-weight:500; letter-spacing:-.02em; }.editorial-home-page .home-signature-list__items h3 span { color:#B58A4B; font-family:Pretendard,sans-serif; font-size:1rem; font-weight:400; transition:transform .2s ease; }.editorial-home-page .home-signature-list__items p { margin:8px 0 0; color:#757575; font-size:.84rem; line-height:1.7; }.editorial-home-page .home-signature-list__items a:hover { padding-left:7px; color:#8B652D; }.editorial-home-page .home-signature-list__items a:hover h3 span { transform:translateX(4px); }
@media (max-width:720px) { .editorial-home-page .home-why { padding:68px 0 54px; }.editorial-home-page .home-why h2,.editorial-home-page .home-signature-list h2 { font-size:1.68rem; }.editorial-home-page .home-why__grid { grid-template-columns:1fr; gap:0; margin-top:34px; border-top:1px solid #E4E4E0; }.editorial-home-page .home-why__grid article,.editorial-home-page .home-why__grid article:first-child { padding:22px 0; border-left:0; border-bottom:1px solid #E4E4E0; }.editorial-home-page .home-why__grid h3 { margin:10px 0 7px; font-size:1.1rem; }.editorial-home-page .home-why__grid p { font-size:.82rem; }.editorial-home-page .home-signature-list { padding:54px 0; }.editorial-home-page .home-signature-list__items { margin-top:27px; }.editorial-home-page .home-signature-list__items a { padding:18px 0; }.editorial-home-page .home-signature-list__items h3 { font-size:1.12rem; }.editorial-home-page .home-signature-list__items p { margin-top:6px; font-size:.8rem; } }

/* Visit guide has no hero image, so it begins directly below the shared header. */
.branch-context-page--info { padding:0; }
body.branch-choice-page .branch-context-page.branch-context-page--info { padding:0 !important; }
.branch-context-page--info .visit-guide { padding-top:68px; }
@media (max-width:640px) { .branch-context-page--info .visit-guide { padding-top:34px; } }

/* Branch selection: active branch returns to the original charcoal state. */
.visit-guide__picker button.is-active { background:#1F1F1F; color:#FFFFFF; box-shadow:none; }
.visit-guide__picker button.is-active .visit-guide__pin { border-color:#FFFFFF; background:#FFFFFF; color:#1F1F1F; }
.visit-guide__picker button.is-active b,.visit-guide__picker button.is-active small { color:#D4D4CF; }
