.bb-homepage { min-width: 0; overflow-wrap: anywhere; }
.bb-homepage :where(section) { border-block-end: 1px solid var(--bb-color-border-decorative); }
.bb-homepage :where(p,h1,h2,h3) { margin-block-end: 0; }
.bb-home-section-heading { max-width: var(--bb-width-reading); }
.bb-home-hero {
    position: relative; isolation: isolate; min-height: clamp(31.25rem,42vw,34.375rem); display: grid; align-items: end;
    padding-block: clamp(var(--bb-space-48),4vw,var(--bb-space-64));
    background: #0a0a0a url("../images/homepage-hero-owner-dj-booth-1672.webp") 58% 56% / cover no-repeat;
}
.bb-home-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.62) 52%,rgba(0,0,0,.33) 100%); }
.bb-home-hero .bb-container { width: 100%; max-width: 76rem; }
.bb-home-hero .bb-flow > * + * { margin-block-start: var(--bb-space-32); }
.bb-home-hero .bb-display-l { max-width: 15ch; }
.bb-home-hero__expression { max-width: var(--bb-width-reading); color: var(--bb-color-text-primary); font-size: clamp(1.125rem,1rem + .35vw,1.35rem); font-weight: 600; }
.bb-home-routes,.bb-home-cross,.bb-home-product { background: var(--bb-color-surface-1); }
.bb-home-route-grid,.bb-home-trust__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--bb-grid-gap); }
.bb-home-route-card,.bb-home-guide-card,.bb-home-bridge,.bb-home-advanced { position: relative; min-width: 0; color: inherit; text-decoration: none; cursor: pointer; transition: background-color var(--bb-motion-1),border-color var(--bb-motion-1),box-shadow var(--bb-motion-1); }
.bb-home-route-card:hover,.bb-home-guide-card:hover,.bb-home-bridge:hover,.bb-home-advanced:hover { background-color: var(--bb-color-surface-2); border-color: var(--bb-color-border-control); }
.bb-home-route-card:focus-visible,.bb-home-guide-card:focus-visible,.bb-home-bridge:focus-visible,.bb-home-advanced:focus-visible { outline: var(--bb-focus-width) solid var(--bb-color-focus); outline-offset: 3px; }
.bb-home-route-card { border-block-start: 4px solid var(--bb-color-action-red); }
.bb-guide-carousel { position: relative; }
.bb-guide-carousel__controls { display: flex; justify-content: flex-end; gap: var(--bb-space-8); margin-block: calc(-1 * var(--bb-space-8)) var(--bb-space-16); }
.bb-guide-carousel__button { width: var(--bb-target-standard); min-height: var(--bb-target-standard); color: var(--bb-color-text-primary); font: 600 1.35rem/1 var(--bb-font-family); background: var(--bb-color-surface-2); border: 1px solid var(--bb-color-border-control); border-radius: var(--bb-radius-control); cursor: pointer; }
.bb-guide-carousel__button:hover { border-color: var(--bb-color-action-red); }
.bb-guide-carousel__button:disabled { opacity: .36; cursor: default; }
.bb-guide-carousel__viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--bb-color-border-control) transparent; }
.bb-guide-carousel__viewport:focus-visible { outline: 3px solid var(--bb-color-focus); outline-offset: 4px; }
.bb-home-guide-grid { --bb-guide-columns: 3; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--bb-guide-columns) - 1) * var(--bb-grid-gap)) / var(--bb-guide-columns)); gap: var(--bb-grid-gap); padding-block-end: var(--bb-space-16); }
.bb-home-guide-card { min-height: 15.5rem; padding: 0; overflow: hidden; scroll-snap-align: start; }
.bb-home-guide-card__media { display: block; aspect-ratio: 16 / 7; overflow: hidden; background: #090a0d; border-block-end: 1px solid var(--bb-color-border-structural); }
.bb-home-guide-card__media source { display: none; }
.bb-home-guide-card__image { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.bb-home-guide-card__body { padding: var(--bb-space-20, 1.25rem) var(--bb-space-24) var(--bb-space-24); }
.bb-home-cross__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--bb-grid-gap); }
.bb-home-advanced { grid-column: 1 / -1; padding: var(--bb-space-24); border: 1px solid var(--bb-color-educational-violet); border-inline-start-width: 4px; }
.bb-home-empty { max-width: var(--bb-width-reading); padding: var(--bb-space-24); background: var(--bb-color-surface-2); border-inline-start: 4px solid var(--bb-color-info); }
.bb-home-product.bb-section { padding-block: var(--bb-space-16); }
.bb-home-product > .bb-container { width: min(calc(100% - 3rem),73.75rem); }
.bb-home-product__layout { display: grid; gap: var(--bb-space-16); }
.bb-home-product__intro { display: flex; min-width: 0; align-items: flex-end; justify-content: space-between; gap: var(--bb-space-24); }
.bb-home-product__intro .bb-h2 { font-size: clamp(1.75rem,1.45rem + 1vw,2.35rem); }
.bb-home-product__shop-link { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .45rem; min-height: 44px; font-weight: 650; }
.bb-home-product-viewport { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: var(--bb-color-border-control) transparent; }
.bb-home-product-viewport:focus-visible { outline: 3px solid var(--bb-color-focus); outline-offset: 2px; }
.bb-home-product-family { display: grid; width: max-content; margin-inline: auto; padding: 2px 2px var(--bb-space-8); grid-auto-flow: column; grid-auto-columns: 15.5rem; justify-content: start; gap: var(--bb-space-16); }
.bb-home-product-feature { min-width: 0; padding: 0; overflow: hidden; scroll-snap-align: start; }
.bb-home-product-feature__link { display: flex; height: 100%; flex-direction: column; color: inherit; text-decoration: none !important; }
.bb-home-product-feature__visual { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #090a0d; border-block-end: 1px solid var(--bb-color-border-structural); }
.bb-home-product-feature__visual picture { display: contents; }
.bb-home-product-feature__image,.bb-home-product-feature__visual .bb-product-cover { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; margin: 0; border: 0 !important; border-radius: 0 !important; }
.bb-home-product-feature__copy { display: flex; flex: 1; flex-direction: column; gap: .3rem; min-width: 0; padding: .6rem .75rem .65rem; }
.bb-home-product-feature__copy > * { margin: 0; }
.bb-home-product-feature__title { color: var(--bb-color-text-primary); font-size: 1rem; font-weight: 650; line-height: 1.25; letter-spacing: -.012em; }
.bb-home-product-feature__price { margin-block-start: auto; color: var(--bb-color-text-primary); font-size: 1rem; font-weight: 700; line-height: 1.2; }
.bb-home-product-feature__action { display: inline-flex; align-items: center; gap: .35rem; color: var(--bb-color-link); font-size: .8125rem; font-weight: 650; line-height: 1.35; text-decoration: underline; text-underline-offset: .16em; }
.bb-home-product-feature__link:hover .bb-home-product-feature__action { color: var(--bb-color-text-primary); }
.bb-home-trust { background: var(--bb-color-surface-2); }
.bb-home-trust-card { min-width: 0; padding-block-start: var(--bb-space-16); border-block-start: 4px solid var(--bb-color-border-structural); }
@media (max-width: 63.99rem) { .bb-home-route-grid,.bb-home-trust__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .bb-home-guide-grid { --bb-guide-columns: 2; } }
@media (min-width: 80rem) { .bb-home-product[data-bb-home-product-count="4"] .bb-home-product-viewport { overflow-x: visible; scroll-snap-type: none; } }
@media (min-width: 64rem) and (max-width: 79.99rem) { .bb-home-product-family { grid-auto-columns: 15rem; } }
@media (min-width: 48rem) and (max-width: 63.99rem) { .bb-home-product-family { grid-auto-columns: 14.25rem; } }
@media (min-width: 48rem) { .bb-home-product[data-bb-home-product-count="1"] .bb-home-product-viewport,.bb-home-product[data-bb-home-product-count="2"] .bb-home-product-viewport,.bb-home-product[data-bb-home-product-count="3"] .bb-home-product-viewport { overflow-x: visible; scroll-snap-type: none; } }
@media (max-width: 47.99rem) {
    .bb-home-hero { min-height: 29rem; padding-block: var(--bb-space-32); background-image: url("../images/homepage-hero-owner-dj-booth-960.webp"); background-position: 60% 50%; }
    .bb-home-hero .bb-flow > * + * { margin-block-start: clamp(var(--bb-space-16),5vw,var(--bb-space-24)); }
    .bb-home-hero::before { background: linear-gradient(180deg,rgba(0,0,0,.50) 0%,rgba(0,0,0,.62) 42%,rgba(0,0,0,.88) 76%,rgba(0,0,0,.94) 100%); }
    .bb-home-route-grid,.bb-home-cross__grid,.bb-home-trust__grid { grid-template-columns: 1fr; }
    .bb-home-guide-grid { --bb-guide-columns: 1; }
    .bb-home-product > .bb-container { width: min(calc(100% - 2rem),73.75rem); }
    .bb-home-product__intro { align-items: flex-start; flex-wrap: wrap; gap: var(--bb-space-8) var(--bb-space-16); }
    .bb-home-product-viewport { margin-inline-end: calc(-1 * var(--bb-space-16)); }
    .bb-home-product-family { margin-inline: 0; padding-inline-end: var(--bb-space-32); grid-auto-columns: clamp(11.875rem,51vw,12.75rem); }
}
@media (prefers-reduced-motion: reduce) { .bb-homepage * { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
