
/* Branch in-page navigation */
html {
    scroll-behavior: smooth;
}

.branch-page #branch-home,
.branch-page #branch-events,
.branch-page #branch-news,
.branch-page #branch-contact {
    scroll-margin-top: 110px;
}
:root {
    --branch-primary: var(--title-color, #17223b);
    --branch-accent: var(--theme-color, #ff5b7f);
    --branch-muted: #6f7892;
    --branch-surface: #ffffff;
    --branch-soft: #f6f8fc;
    --branch-border: #e8ebf2;
    --branch-shadow: 0 18px 50px rgba(23, 34, 59, .09);
}

html { scroll-behavior: smooth; }

/* Branch context in the shared header */
.branch-header-logo {
    display: flex;
    align-items: center;
    gap: 12px;
}
.branch-header-context {
    min-width: 115px;
    padding-inline-start: 12px;
    border-inline-start: 1px solid #e7e9f0;
    line-height: 1.2;
}
.branch-header-context span,
.branch-mobile-context span {
    display: block;
    font-size: 11px;
    color: #8a91a7;
    margin-bottom: 4px;
}
.branch-header-context strong,
.branch-mobile-context strong {
    display: block;
    color: var(--branch-primary);
    font-size: 14px;
    white-space: nowrap;
}
.branch-mobile-context {
    margin-top: 8px;
}
.branch-topbar-label span { font-weight: 700; }
.branch-nav-secondary > a { color: #7b8399 !important; }
.branch-mobile-registration .as-btn {
    width: 100%;
    margin-top: 22px;
}

/* Branch page */
.branch-page {
    background: var(--branch-soft);
}
.branch-section {
    position: relative;
    padding: 90px 0;
    scroll-margin-top: 115px;
}
.branch-section--white { background: #fff; }
.branch-section-head {
    max-width: 680px;
    margin: 0 auto 38px;
    text-align: center;
}
.branch-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(255, 91, 127, .09);
    color: var(--branch-accent);
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 12px;
}
.branch-section-title {
    margin: 0 0 10px;
    color: var(--branch-primary);
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.25;
}
.branch-section-text {
    margin: 0;
    color: var(--branch-muted);
    font-size: 16px;
    line-height: 1.9;
}

/* Hero */
.branch-hero {
    position: relative;
    isolation: isolate;
    min-height: 500px;
    display: flex;
    align-items: center;
    background-position: center;
    background-size: cover;
    overflow: hidden;
    scroll-margin-top: 110px;
}
.branch-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: linear-gradient(100deg, rgba(17, 31, 59, .92) 0%, rgba(17, 31, 59, .80) 48%, rgba(17, 31, 59, .34) 100%);
}
.branch-hero::after {
    content: "";
    position: absolute;
    width: 430px;
    height: 430px;
    border-radius: 50%;
    left: -160px;
    bottom: -240px;
    z-index: -1;
    background: rgba(255,255,255,.10);
}
.branch-hero .container { padding-top: 62px; padding-bottom: 62px; }
.branch-hero-copy { max-width: 680px; }
.branch-hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 15px;
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.22);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 18px;
    backdrop-filter: blur(8px);
}
.branch-hero-title {
    color: #fff;
    font-size: clamp(38px, 5vw, 62px);
    line-height: 1.12;
    margin: 0 0 12px;
}
.branch-hero-intro {
    color: rgba(255,255,255,.86);
    font-size: clamp(18px, 2vw, 23px);
    line-height: 1.8;
    margin: 0 0 25px;
    max-width: 620px;
}
.branch-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 28px;
}
.branch-hero-meta a,
.branch-hero-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 8px 14px;
    border-radius: 12px;
    background: rgba(255,255,255,.12);
    color: #fff;
    border: 1px solid rgba(255,255,255,.16);
    backdrop-filter: blur(7px);
}
.branch-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.branch-hero-actions .branch-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 50px;
    padding: 11px 22px;
    border-radius: 13px;
    font-weight: 800;
    transition: .2s ease;
}
.branch-btn--primary {
    background: var(--branch-accent);
    color: #fff;
}
.branch-btn--primary:hover { color:#fff; transform: translateY(-2px); }
.branch-btn--ghost {
    color: #fff;
    border: 1px solid rgba(255,255,255,.45);
    background: rgba(255,255,255,.08);
}
.branch-btn--ghost:hover { color:#fff; background: rgba(255,255,255,.15); }
.branch-identity-card {
    width: min(100%, 360px);
    margin-inline-start: auto;
    padding: 28px;
    border-radius: 24px;
    background: rgba(255,255,255,.93);
    border: 1px solid rgba(255,255,255,.7);
    box-shadow: 0 30px 70px rgba(0,0,0,.20);
    text-align: center;
    backdrop-filter: blur(12px);
}
.branch-identity-image {
    height: 175px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}
.branch-identity-image img {
    max-height: 165px;
    max-width: 100%;
    object-fit: contain;
}
.branch-identity-card small { color: var(--branch-muted); }
.branch-identity-card h3 {
    color: var(--branch-primary);
    font-size: 22px;
    margin: 5px 0 12px;
}
.branch-identity-card p {
    color: var(--branch-muted);
    margin: 0 0 16px;
}
.branch-socials {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 9px;
}
.branch-socials a {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f0f2f7;
    color: var(--branch-primary);
    transition: .2s ease;
}
.branch-socials a:hover { background: var(--branch-accent); color:#fff; transform: translateY(-2px); }

/* Events */
.branch-event-card {
    height: 100%;
    background: #fff;
    border: 1px solid var(--branch-border);
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 10px 32px rgba(23,34,59,.05);
    transition: .22s ease;
}
.branch-event-card:hover { transform: translateY(-5px); box-shadow: var(--branch-shadow); }
.branch-event-date {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    border-radius: 10px;
    background: #f4f6fb;
    color: var(--branch-primary);
    font-size: 13px;
    margin-bottom: 16px;
}
.branch-event-card h3 {
    color: var(--branch-primary);
    font-size: 20px;
    line-height: 1.55;
    margin-bottom: 16px;
}
.branch-event-meta {
    display: grid;
    gap: 9px;
    color: var(--branch-muted);
    font-size: 14px;
}
.branch-event-meta span { display:flex; gap:8px; align-items:flex-start; }
.branch-event-download {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 18px;
    color: var(--branch-accent);
    font-weight: 700;
}

/* News */
.branch-news-card {
    height: 100%;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--branch-border);
    border-radius: 20px;
    box-shadow: 0 10px 32px rgba(23,34,59,.05);
    transition: .22s ease;
}
.branch-news-card:hover { transform: translateY(-5px); box-shadow: var(--branch-shadow); }
.branch-news-image {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #eef1f6;
}
.branch-news-image img { width:100%; height:100%; object-fit:cover; transition:.3s ease; }
.branch-news-card:hover .branch-news-image img { transform: scale(1.04); }
.branch-news-body { padding: 21px; }
.branch-news-date {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    color: #8a91a7;
    font-size:13px;
    margin-bottom:10px;
}
.branch-news-body h3 { font-size:20px; line-height:1.55; margin:0 0 10px; }
.branch-news-body h3 a { color:var(--branch-primary); }
.branch-news-body p { color:var(--branch-muted); line-height:1.8; margin:0; }
.branch-news-more {
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:15px;
    color:var(--branch-accent);
    font-weight:700;
}

/* Contact */
.branch-contact-grid {
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
    gap: 28px;
    align-items: stretch;
}
.branch-contact-card,
.branch-contact-form-card,
.branch-map-card {
    background: #fff;
    border: 1px solid var(--branch-border);
    border-radius: 22px;
    box-shadow: 0 10px 32px rgba(23,34,59,.05);
}
.branch-contact-card { padding: 28px; }
.branch-contact-form-card { padding: 30px; }
.branch-contact-card h3,
.branch-contact-form-card h3,
.branch-map-card h3 { color:var(--branch-primary); margin-bottom:10px; }
.branch-contact-card > p,
.branch-contact-form-card > p { color:var(--branch-muted); line-height:1.8; }
.branch-contact-list { display:grid; gap:14px; margin-top:24px; }
.branch-contact-item {
    display:flex;
    gap:13px;
    align-items:flex-start;
    padding:14px;
    border-radius:15px;
    background:#f7f8fb;
}
.branch-contact-item .icon {
    width:42px; height:42px; border-radius:12px;
    display:flex; align-items:center; justify-content:center;
    background:#fff; color:var(--branch-accent); flex:0 0 auto;
}
.branch-contact-item small { display:block; color:#9299aa; margin-bottom:3px; }
.branch-contact-item strong,
.branch-contact-item a { color:var(--branch-primary); overflow-wrap:anywhere; }
.branch-contact-form-card .form-control {
    border:1px solid #e3e7ef;
    border-radius:13px;
    min-height:50px;
    padding:12px 15px;
    background:#fbfcfe;
}
.branch-contact-form-card textarea.form-control { min-height:130px; }
.branch-contact-form-card .form-control:focus { border-color:var(--branch-accent); box-shadow:none; background:#fff; }
.branch-map-card { margin-top:28px; padding:18px; overflow:hidden; }
.branch-map-card iframe { width:100% !important; min-height:390px; border:0; border-radius:15px; }
.branch-map-card h3 { padding:8px 8px 16px; margin:0; }

@media (max-width: 1199px) {
    .branch-header-context { display:none; }
}
@media (max-width: 991px) {
    .branch-hero { min-height:auto; }
    .branch-hero::before { background: rgba(17,31,59,.86); }
    .branch-identity-card { margin:30px auto 0; }
    .branch-contact-grid { grid-template-columns: 1fr; }
    .branch-section { padding:70px 0; }
}
@media (max-width: 575px) {
    .branch-hero .container { padding-top:42px; padding-bottom:42px; }
    .branch-hero-title { font-size:36px; }
    .branch-hero-intro { font-size:17px; }
    .branch-hero-actions .branch-btn { width:100%; }
    .branch-section { padding:55px 0; }
    .branch-event-card,
    .branch-contact-card,
    .branch-contact-form-card { padding:20px; }
}
