/* Shared branch story cards. Suwon navigation retains its existing anchors. */
.branch-stories, .branch-story-navigation {
    --branch-stories-orange: #e67e22;
    --branch-stories-navy: #1a2a3a;
    --branch-stories-ivory: #faf8f5;
    --branch-stories-muted: #5f6875;
    --branch-stories-line: #ece7df;
}
.suwon-page-wrapper :is(#facility, #suwon-directions), .branch-stories { scroll-margin-top: 110px; }
.branch-stories-container { box-sizing: border-box; width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.branch-stories-header { max-width: 780px; margin: 0 auto 58px; text-align: center; }
.branch-stories-header h2 { margin: 0; color: var(--branch-stories-navy); font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 850; line-height: 1.35; word-break: keep-all; }
.branch-stories-header h2 strong { color: var(--branch-stories-orange); }
.branch-stories-tag { display: block; color: var(--branch-stories-orange); font-size: .85rem; font-weight: 850; letter-spacing: .14em; margin-bottom: 14px; }
.branch-story-navigation { display: flex; flex-wrap: wrap; gap: 28px; padding-top: 24px; padding-bottom: 24px; }
.branch-story-navigation a { color: var(--branch-stories-navy); font-weight: 750; text-decoration: none; padding: 10px 0; border-bottom: 2px solid var(--branch-stories-line); }
.branch-story-navigation a:hover { color: var(--branch-stories-orange); border-color: currentColor; }
.branch-stories { padding: 90px 0; background: var(--branch-stories-ivory); }
.branch-stories [hidden], .branch-stories[hidden], .branch-story-navigation [hidden] { display: none !important; }
.branch-stories .branch-stories-header p { color: var(--branch-stories-muted); }
.branch-stories-first, .branch-stories-more { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.branch-stories-more:not(:empty) { margin-top: 24px; }
.branch-stories-first.has-featured { grid-template-columns: 1.2fr 1fr; }
.branch-story-card { min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--branch-stories-line); border-radius: 12px; background: #fff; }
.branch-story-photo { aspect-ratio: 3 / 2; overflow: hidden; }
.branch-story-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.branch-story-body { display: flex; flex-direction: column; flex: 1; padding: 24px; overflow-wrap: anywhere; }
.branch-story-body h3 { margin: 0 0 12px; font-size: 1.25rem; line-height: 1.4; word-break: keep-all; overflow-wrap: anywhere; }
.branch-story-body p { margin: 0 0 20px; color: var(--branch-stories-muted); font-family: inherit; font-size: 1rem; font-weight: 400; line-height: 1.65; }
.branch-story-body a { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--branch-stories-line); color: var(--branch-stories-navy); font-weight: 750; text-decoration: none; }
.branch-story-body a span { float: right; }
.branch-story-label { color: var(--branch-stories-orange); font-weight: 850; margin-bottom: 10px; }
.branch-stories-first.has-featured .branch-story-card--featured { grid-row: span 2; display: grid; background: var(--branch-stories-navy); color: #fff; }
.branch-story-card--featured .branch-story-photo, .branch-story-card--featured .branch-story-body { grid-area: 1 / 1; }
.branch-story-card--featured .branch-story-photo { align-self: stretch; min-height: 100%; }
.branch-story-card--featured .branch-story-body { z-index: 1; justify-content: flex-end; background: linear-gradient(180deg, rgba(15,25,35,.15), rgba(15,25,35,.94)); padding-top: 120px; }
.branch-story-card--featured .branch-story-body h3 { font-size: 1.8rem; }
.branch-story-card--featured .branch-story-body p, .branch-story-card--featured .branch-story-body a { color: #fff; }
.branch-story-card--featured .branch-story-body a { margin-top: 0; }
.branch-stories-first.has-featured .branch-story-card:not(.branch-story-card--featured) { display: grid; grid-template-columns: .8fr 1.2fr; align-items: stretch; }
.branch-stories-first.has-featured .branch-story-card:not(.branch-story-card--featured) .branch-story-photo { aspect-ratio: auto; min-width: 0; }
.branch-stories-actions { text-align: center; margin-top: 30px; }
.branch-stories-actions p { color: var(--branch-stories-muted); }
.branch-stories-actions button { font: inherit; font-weight: 750; color: var(--branch-stories-navy); background: #fff; border: 1px solid var(--branch-stories-line); border-radius: 50px; padding: 13px 28px; min-height: 48px; cursor: pointer; }
.branch-stories-actions button:hover { border-color: var(--branch-stories-orange); }
.branch-stories-actions button:disabled { cursor: wait; opacity: .6; }
.branch-story-navigation a:focus-visible, .branch-stories a:focus-visible, .branch-stories button:focus-visible { outline: 3px solid var(--branch-stories-orange); outline-offset: 3px; }
@media (max-width: 767px) {
    .branch-stories { padding: 60px 0; }
    .branch-story-body p { font-size: .9375rem; }
    .branch-story-navigation { gap: 22px; }
    .branch-stories-first, .branch-stories-first.has-featured, .branch-stories-more { grid-template-columns: minmax(0, 1fr); }
    .branch-stories-first.has-featured .branch-story-card--featured { grid-row: auto; }
    .branch-stories-first.has-featured .branch-story-card:not(.branch-story-card--featured) { display: flex; }
    .branch-stories-first.has-featured .branch-story-card:not(.branch-story-card--featured) .branch-story-photo { aspect-ratio: 3 / 2; }
    .branch-story-card--featured .branch-story-body h3 { font-size: 1.5rem; }
}
