/* Home-only composition over the approved .bb51 base. */
.bb51-home{--bb51-content-width:72rem}
.bb51-home .bb51-main{padding-top:1rem}
.bb51-home .bb51-home-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:.25rem;min-height:12rem}
.bb51-home .bb51-home-hero h1{font-size:clamp(1.5rem,5.5vw,2.2rem);line-height:1.1;letter-spacing:-.055em;font-weight:800;margin:.65rem 0}
.bb51-home .bb51-home-hero h1 span{color:var(--bb51-brand)}
.bb51-home .bb51-home-hero img{width:100%;height:auto;mix-blend-mode:multiply}
.bb51-home .bb51-home-hero .bb51-eyebrow{font-size:.55rem;letter-spacing:-.01em}
.bb51-home .bb51-home-lead{font-size:.75rem;color:var(--bb51-text-secondary);max-width:32rem}
.bb51-home .bb51-home-context{display:flex;align-items:center;gap:.5rem;padding:.8rem;border-radius:.75rem;background:var(--bb51-surface-soft);margin:1rem 0}
.bb51-home .bb51-home-context>p{flex:1;min-width:0;font-size:.8rem;line-height:1.4}
.bb51-home .bb51-home-context p span,.bb51-home .bb51-home-context p strong{display:block}
.bb51-home .bb51-home-context p span{font-size:.65rem}
.bb51-home .bb51-home-context>a{font-size:.65rem;flex-shrink:0}
.bb51-home .bb51-home-city-picker{margin-top:.75rem;border:1px solid var(--bb51-border);border-radius:.75rem;scroll-margin-top:1rem}
.bb51-home .bb51-home-city-picker summary{padding:.75rem 1rem;cursor:pointer;font-size:.8rem;font-weight:700;color:var(--bb51-success)}
.bb51-home .bb51-home-city-picker>div{padding:0 1rem 1rem}
.bb51-home .bb51-home-search-row{display:flex;gap:.5rem;margin:.5rem 0}
.bb51-home .bb51-home-search-row input{min-width:0;flex:1;border:1px solid #8795a6;border-radius:.5rem;padding:.6rem;font-size:1rem;background:white;color:var(--bb51-text-primary)}
.bb51-home #home-city-results{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.bb51-home #home-city-results button{width:100%;text-align:left;min-height:3rem;background:var(--bb51-surface-soft);border:1px solid var(--bb51-border);border-radius:.5rem;padding:.65rem;color:var(--bb51-text-primary);cursor:pointer}
.bb51-home #home-city-status{font-size:.8rem;margin-bottom:.5rem}
.bb51-home .bb51-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.bb51-home .bb51-card-title{font-size:.8rem}
.bb51-home .bb51-section-heading{gap:.5rem;margin-bottom:.65rem}
.bb51-home .bb51-section-title{font-size:1rem}
.bb51-home .bb51-home-empty{padding:1.25rem;border:1px solid var(--bb51-border);border-radius:.75rem;background:#fbfdfc}
.bb51-home .bb51-home-empty>p{margin-top:.5rem;font-size:.85rem;color:var(--bb51-text-secondary)}
.bb51-home .bb51-home-business{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem;background:#073f3d;color:white;border-radius:1rem;margin:1.5rem 0}
.bb51-home .bb51-home-business .bb51-eyebrow{color:#91e9c1;font-size:.65rem}
.bb51-home .bb51-home-business h2{font-size:1.4rem;margin:.4rem 0}
.bb51-home .bb51-home-business p:not(.bb51-eyebrow){font-size:.8rem;max-width:30rem;color:#d8ece5}
.bb51-home .bb51-home-business .bb51-button{margin-top:1rem;background:white;color:#07563e}
.bb51-home .bb51-home-business>span{display:none}
/* At most four server-rendered candidates; mobile shows only the first two. */
.bb51-home .bb51-home-local-grid>.bb51-card:nth-child(n+3){display:none}
.bb51-home .bb51-home-city-picker[data-city-resolved="true"]:not([open]){display:none}
@media(min-width:48rem){
 .bb51-home .bb51-main{padding-top:2rem}
 .bb51-home .bb51-home-hero{grid-template-columns:1.1fr 1fr;min-height:21rem;gap:2rem}
 .bb51-home .bb51-home-hero h1{font-size:clamp(2.8rem,4.3vw,4rem);max-width:38rem}
 .bb51-home .bb51-home-hero .bb51-eyebrow{font-size:.75rem;letter-spacing:.03em}
 .bb51-home .bb51-home-lead{font-size:1rem}
 .bb51-home .bb51-home-context{padding:1rem 1.5rem}
 .bb51-home .bb51-home-context>p{font-size:1rem}
 .bb51-home .bb51-home-context p span,.bb51-home .bb51-home-context>a{font-size:.8rem}
 .bb51-home .bb51-home-business{padding:2.5rem}
 .bb51-home .bb51-home-business h2{font-size:2rem}
 .bb51-home .bb51-home-business>span{display:block;color:#91e9c1}
 .bb51-home .bb51-home-business>span>.bb51-icon{width:6rem;height:6rem}
}
@media(min-width:64rem){
 .bb51-home .bb51-home-local-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .bb51-home .bb51-home-local-grid>.bb51-card:nth-child(n+3){display:block}
 .bb51-home .bb51-card-title{font-size:1rem}
 .bb51-home .bb51-section-title{font-size:1.25rem}
}

/* Unified public city context; no membership/identity presentation. */
.bb51-home .bb51-home-context{align-items:center;gap:1rem;padding:1rem 1.25rem}
.bb51-home .bb51-home-context-copy{flex:1;min-width:0}
.bb51-home .bb51-home-context-copy>.bb51-meta{font-size:.75rem;margin:0}
.bb51-home .bb51-home-context-row{display:flex;align-items:center;gap:0 1rem;flex-wrap:wrap}
.bb51-home .bb51-home-context-row strong{font-size:1.1rem}
.bb51-home .bb51-home-context a{display:inline-flex;align-items:center;min-height:44px;font-size:.8rem}
.bb51-home .bb51-home-community-link{background:#fff;color:var(--bb51-text-primary);margin-top:.15rem;padding:.5rem 1rem}
.bb51-home .bb51-home-context>.bb51-icon{width:2.5rem;height:2.5rem;flex:none;margin:0 .5rem;color:var(--bb51-text-primary)}
@media(min-width:48rem){.bb51-home .bb51-home-context{padding:1rem 2rem}.bb51-home .bb51-home-context>.bb51-icon{width:3rem;height:3rem;margin-right:.75rem}}

/* Hero background and integrated city context. */
.bb51-home .bb51-home-hero{display:block;position:relative;min-height:0;padding:1.5rem 1.25rem 8rem;margin:0 0 1.5rem;border-radius:1rem;overflow:hidden;background:#edf9f5 url('../brand/community-city.png') no-repeat right bottom;background-size:auto 15rem}
.bb51-home .bb51-home-hero-copy{position:relative;max-width:32rem}
.bb51-home .bb51-home-hero h1{font-size:clamp(1.6rem,6vw,2.25rem);line-height:1.15;letter-spacing:-.025em;color:#064f3c;max-width:24rem}
.bb51-home .bb51-home-hero h1 span{color:#20968d}
.bb51-home .bb51-home-hero .bb51-home-context{background:transparent;padding:0;margin:1.5rem 0 0;gap:0;border-radius:0}
.bb51-home .bb51-home-hero .bb51-home-context>.bb51-icon{display:none}
@media(min-width:48rem){
 .bb51-home .bb51-home-hero{min-height:24rem;padding:2.5rem;background-size:cover;background-position:bottom}
 .bb51-home .bb51-home-hero-copy{width:42%}
 .bb51-home .bb51-home-hero h1{font-size:clamp(2rem,3vw,2.65rem)}
 .bb51-home .bb51-home-hero .bb51-home-context{margin-top:2.5rem}
}
