/* Branch landing pages. Loaded after styles.css and reuses its tokens. */
.branch-hero { position: relative; display: grid; min-height: 78svh; align-items: end; overflow: hidden; padding: 124px 20px 80px; background: #54483f; }
.branch-hero__media { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.branch-hero__shade { position: absolute; inset: 0px; background: linear-gradient(90deg, rgba(34, 30, 26, 0.7), rgba(34, 30, 26, 0.32) 56%, rgba(34, 30, 26, 0.12)), linear-gradient(rgba(34, 30, 26, 0.1), rgba(34, 30, 26, 0.04) 40%, rgba(34, 30, 26, 0.5)); }
.branch-hero__inner { position: relative; width: min(100%, var(--max)); margin: 0px auto; color: var(--paper); }
.branch-hero .eyebrow { color: rgb(234, 215, 182); }
.branch-hero h1 { max-width: 760px; margin: 14px 0px 0px; font-family: Georgia, "Times New Roman", serif; font-size: 2.5rem; font-weight: 500; line-height: 1.1; }
.branch-hero h1 span { display: block; max-width: 560px; margin-top: 14px; font-family: Inter, Pretendard, "Noto Sans KR", Arial, sans-serif; font-size: 1.02rem; font-weight: 700; line-height: 1.5; color: rgba(255, 250, 242, 0.9); }
.branch-hero__lead { max-width: 560px; margin: 18px 0px 0px; color: rgba(255, 250, 242, 0.8); font-size: 0.94rem; line-height: 1.72; }
.branch-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: 0px; margin: 0px 0px 22px; padding: 0px; list-style: none; font-size: 0.72rem; font-weight: 800; color: rgba(255, 250, 242, 0.76); }
.breadcrumb li + li::before { content: "/"; margin: 0px 8px; color: rgba(234, 215, 182, 0.7); }
.breadcrumb a:hover { color: var(--paper); }
.page-section { width: min(100%, var(--max)); margin: 0px auto; padding: 88px 20px; border-top: 1px solid rgba(41, 37, 32, 0.08); scroll-margin-top: calc(var(--header-height) + 22px); }
.branch-hero + .page-section { border-top: 0px; }
.branch-intro { max-width: 680px; }
.branch-intro p { margin: 0px 0px 14px; color: var(--charcoal-soft); font-size: 0.98rem; line-height: 1.82; }
.branch-tags { display: flex; flex-wrap: wrap; gap: 8px 0px; margin: 22px 0px 0px; padding: 0px; list-style: none; }
.branch-tags li { color: var(--wood); font-size: 0.74rem; font-weight: 800; }
.branch-tags li + li::before { color: rgba(150, 116, 87, 0.58); content: "/"; margin: 0px 10px; }
.fact-grid { display: grid; gap: 0px; margin: 42px 0px 0px; }
.fact-grid div { display: grid; gap: 6px; padding: 20px 0px; border-top: 1px solid var(--line); }
.fact-grid dt { color: var(--wood); font-size: 0.7rem; font-weight: 900; }
.fact-grid dd { margin: 0px; color: var(--charcoal); font-size: 0.96rem; line-height: 1.66; }
.fact-grid address { font-style: normal; }
.fact-grid a { border-bottom: 1px solid var(--line); }
.feature-list { display: grid; gap: 12px; }
.feature-list article { border: 1px solid rgba(41, 37, 32, 0.13); background: linear-gradient(rgba(255, 250, 242, 0.58), rgba(245, 239, 230, 0.42)); padding: 24px; }
.feature-list h3 { margin: 0px; font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; font-weight: 500; line-height: 1.25; }
.feature-list p { margin: 12px 0px 0px; color: var(--charcoal-soft); font-size: 0.9rem; line-height: 1.72; }
.branch-gallery { display: grid; gap: 12px; margin-top: 14px; }
.branch-gallery figure { position: relative; height: 320px; overflow: hidden; background: var(--stone); }
.branch-gallery img { width: 100%; height: 100%; object-fit: cover; }
.branch-gallery figure::after { position: absolute; inset: 0px; content: ""; background: linear-gradient(rgba(41, 37, 32, 0), rgba(41, 37, 32, 0.38)); pointer-events: none; }
.branch-gallery figcaption { position: absolute; z-index: 1; right: 18px; bottom: 18px; left: 18px; color: var(--paper); font-size: 0.74rem; font-weight: 900; }
.faq-list { display: grid; max-width: 820px; }
.faq-item { padding: 22px 0px; border-top: 1px solid var(--line); }
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-item h3 { margin: 0px; font-size: 1rem; font-weight: 800; line-height: 1.5; }
.faq-item p { margin: 10px 0px 0px; color: var(--charcoal-soft); font-size: 0.94rem; line-height: 1.78; }
.contact-panel { display: grid; max-width: 560px; gap: 22px; }
.contact-panel > p { margin: 0px; color: var(--charcoal-soft); font-size: 0.96rem; line-height: 1.72; }
.back-home, .other-branches a { color: var(--wood); font-size: 0.8rem; font-weight: 800; border-bottom: 1px solid rgba(150, 116, 87, 0.4); justify-self: start; }
.back-home:hover, .other-branches a:hover { border-color: var(--wood); }
.other-branches { width: min(100%, var(--max)); margin: 0px auto; padding: 56px 20px 72px; border-top: 1px solid rgba(41, 37, 32, 0.08); }
.other-branches ul { display: flex; flex-wrap: wrap; gap: 14px 24px; margin: 18px 0px 0px; padding: 0px; list-style: none; }
.other-branches a[aria-current="page"] { color: var(--charcoal); border-color: var(--charcoal); }
@media (min-width: 760px) {
  .branch-hero { min-height: 82svh; padding-bottom: 100px; }
  .branch-hero h1 { font-size: 3.7rem; }
  .branch-hero h1 span { font-size: 1.12rem; }
  .page-section { padding-top: 112px; padding-bottom: 112px; }
  .fact-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); column-gap: 40px; }
  .feature-list { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 14px; }
  .branch-gallery { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 14px; }
  .branch-gallery figure { height: 380px; }
}
@media (min-width: 1120px) {
  .branch-hero, .page-section, .other-branches { padding-right: 0px; padding-left: 0px; }
  .branch-hero h1 { font-size: 4.2rem; }
}
@media (max-width: 759px) {
  .branch-hero { min-height: 84svh; padding: 100px 22px 56px; }
  .branch-hero h1 { font-size: 2.1rem; }
  .branch-hero h1 span { font-size: 0.96rem; }
  .branch-hero__lead { font-size: 0.88rem; }
  .branch-hero__actions { width: min(100%, 320px); gap: 10px; margin-top: 26px; }
  .page-section { padding: 72px 22px; }
  .other-branches { padding: 48px 22px 64px; }
  .feature-list article { padding: 22px 20px; }
  .branch-gallery figure { height: 280px; }
}
