@media (max-width: 1040px) {
    .sgr-branches-shell {
        width: min(100%, calc(100% - 40px));
    }

    .sgr-branches-hero-grid,
    .sgr-branches-cta-band {
        grid-template-columns: 1fr;
    }

    .sgr-branches-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .sgr-branches-title {
        font-size: clamp(2.5rem, 11vw, 4rem);
    }

    .sgr-branches-hero-copy,
    .sgr-branches-hero-visual,
    .sgr-branches-cta-band {
        padding: 24px 22px;
    }

    .sgr-branches-hero-mosaic {
        grid-template-columns: 1fr 1fr;
    }

    .sgr-branches-hero-visual {
        display: none;
    }

    .sgr-branches-mobile-picker {
        display: block;
        padding-top: 26px;
        padding-bottom: 14px;
    }

    .sgr-branches-mobile-rail {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(136px, max-content);
        gap: 12px;
        overflow-x: auto;
        padding-right: 84px;
        padding-bottom: 8px;
        scrollbar-width: thin;
    }

    .sgr-branches-mobile-chip {
        min-height: 50px;
        padding: 0 14px;
        border: var(--sgr-branches-border);
        background: #f5efe1;
        color: var(--sgr-branches-ink);
        font-family: "Do Hyeon", "Noto Sans KR", sans-serif;
        font-size: 1rem;
        box-shadow: 0 8px 0 rgba(5, 9, 23, 0.16);
    }

    .sgr-branches-mobile-chip.is-active {
        background: linear-gradient(135deg, var(--sgr-branches-blue), #416fdf);
        color: #fff;
    }

    .sgr-branches-mobile-chip:focus-visible {
        outline: 4px solid var(--sgr-branches-focus);
        outline-offset: 3px;
    }

    .sgr-branches-mobile-panels {
        margin-top: 18px;
    }

    .sgr-branches-mobile-panel {
        background: rgba(11, 18, 36, 0.18);
    }

    .sgr-branches-mobile-panel .sgr-branches-card {
        border: 0;
        box-shadow: none;
    }

    .sgr-branches-mobile-panel .sgr-branches-card-copy {
        padding-bottom: 84px;
    }

    .sgr-branches-mobile-panel .sgr-branches-card-body,
    .sgr-branches-mobile-panel .sgr-branches-card-quote {
        display: none;
    }

    .sgr-branches-mobile-panel .sgr-branches-card-highlights {
        margin-top: 14px;
    }

    .sgr-branches-mobile-panel .sgr-branches-card-highlights li:nth-child(n + 3) {
        display: none;
    }

    .sgr-branches-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .sgr-branches-main {
        overflow-x: hidden;
    }

    .sgr-branches-shell {
        width: min(100%, calc(100% - 24px));
    }

    .sgr-branches-mobile-picker .sgr-branches-section-header {
        padding-right: 84px;
    }

    .sgr-branches-section {
        padding: 56px 0;
    }

    .sgr-branches-hero {
        padding-top: 34px;
        padding-bottom: 8px;
    }

    .sgr-branches-hero-body,
    .sgr-branches-hero-support,
    .sgr-branches-section-note,
    .sgr-branches-card-summary,
    .sgr-branches-card-body {
        font-size: 0.98rem;
    }

    .sgr-branches-tags li,
    .sgr-branches-card-highlights li,
    .sgr-branches-index,
    .sgr-branches-card-eyebrow,
    .sgr-branches-eyebrow {
        font-size: 0.5rem;
    }

    .sgr-branches-tags li:nth-child(n + 3) {
        display: none;
    }

    .sgr-branches-hero-actions,
    .sgr-branches-card-actions,
    .sgr-branches-cta-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .sgr-branches-button,
    .sgr-branches-button-compact {
        width: 100%;
    }

    .sgr-branches-card-copy {
        padding: 18px 18px 88px;
    }

    .sgr-branches-card h3 {
        font-size: 2rem;
    }

    .sgr-branches-section-cta {
        padding-bottom: 116px;
    }

    .sgr-branches-cta-band {
        padding-right: 74px;
        padding-bottom: 104px;
    }

    #francisco-bot-container {
        right: 14px !important;
        bottom: 14px !important;
        transform: scale(0.9);
        transform-origin: bottom right;
    }

    .sgr-branches-js .sgr-branches-section-grid {
        display: none;
    }
}
