/* BBS owns only its landing; Hero geometry and text tracks stay shared. */
body.bbs-landing-v1 .bbs-section{background:var(--surface);color:var(--ink)}
body.bbs-landing-v1 .bbs-section--products,body.bbs-landing-v1 .bbs-section--philosophy{background:var(--surface-soft)}
body.bbs-landing-v1 .bbs-dark{--ink:var(--text-on-dark);--text-muted:var(--text-on-dark-muted);--border-subtle:color-mix(in srgb,var(--text-on-dark) 22%,transparent);--action-ink:var(--text-on-dark);--action-accent:var(--accent-on-dark);--focus-color:var(--accent-on-dark);background:var(--surface-dark);color:var(--text-on-dark)}
.bbs-section .bbs-heading{max-width:none;text-align:center;margin:0 auto var(--s7)}
body.bbs-landing-v1 .bbs-heading .eyebrow{display:block;margin:0 0 var(--s3)}
.bbs-heading h2{max-width:none;font-size:var(--type-heading-section);line-height:1.25;text-wrap:pretty}
.bbs-heading .intro{max-width:800px;margin:var(--s4) auto 0;font-size:var(--type-body);line-height:var(--leading-body);color:var(--text-muted)}
.bbs-section h3{font-size:var(--type-functional-h3);font-weight:var(--weight-medium);line-height:1.4;text-wrap:pretty;margin:0}
.bbs-section :is(article,li){min-width:0}
.bbs-section article p{font-size:var(--type-body);line-height:var(--leading-body);color:var(--text-muted);margin:var(--s3) 0 0}
.bbs-section .bbs-image-cards{gap:var(--s9)}
.bbs-section .bbs-image-cards figure{aspect-ratio:16/9}
.bbs-section .bess-icon{--icon-size:40px;color:var(--bess-navy)}
.bbs-section .bbs-image-cards .bess-icon{margin-bottom:var(--s4)}
body.bbs-landing-v1 #activity-training-hero{--hero-media-position:100% 100%}
@media(max-width:767px){body.bbs-landing-v1 #activity-training-hero{--hero-media-position:82% 100%}}
.bbs-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s6);align-items:stretch}
.bbs-product{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-subtle);overflow:hidden}
.bbs-product figure,.bbs-method figure{width:100%;aspect-ratio:16/9;overflow:hidden;margin:0;background:var(--surface-soft)}
.bbs-product img,.bbs-method img{display:block;width:100%;height:100%;object-fit:cover}
.bbs-product-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:var(--s5)}
.bbs-product-body .bbs-product-label{font-size:var(--type-small);line-height:1.5;font-weight:var(--weight-medium);letter-spacing:.06em;color:var(--text-muted);margin:0 0 var(--s2)}
.bbs-section .bbs-product h3{font-size:var(--type-card-title);font-weight:var(--weight-semibold);line-height:1.3;color:var(--bess-navy)}
.bbs-section .bbs-product h3+p{margin-top:var(--s4)}
.bbs-product-action{margin-top:auto;padding-top:var(--s4);width:100%}
.bbs-product-action .button{max-width:100%;white-space:normal;text-align:left;font-size:var(--type-support);padding-inline:var(--s4)}
.bbs-knowledge p,.bbs-philosophy p{margin-top:var(--s3)}
.bbs-philosophy{text-align:center}
.bbs-section--method .bbs-heading{text-align:left}
.bbs-section--method .intro{margin-inline:0}
.bbs-method{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s9);margin:0;padding:0;list-style:none}
.bbs-method>li{position:relative;list-style:none;display:flex}
.bbs-method>li+li::before{content:'→';position:absolute;left:calc(var(--s9) / -2);top:50%;transform:translate(-50%,-50%);font-size:32px;line-height:1;color:var(--accent-on-dark)}
.bbs-method article{display:flex;flex-direction:column;width:100%;border:0;background:#fff}
.bbs-method-body{--ink:var(--bess-navy);--text-muted:color-mix(in srgb,var(--bess-navy) 68%,var(--bess-white));flex:1;padding:var(--s5);background:#fff;color:var(--ink)}
.bbs-metrics{text-align:center}
.bbs-section .bbs-metrics .bbs-metric-value{font-size:var(--type-display-metric);font-weight:var(--weight-medium);line-height:1.1;color:var(--bess-navy);margin:0 0 var(--s4)}
.bbs-metrics h3{font-size:var(--type-body);line-height:1.5}
.bbs-section--cta{position:relative;isolation:isolate;overflow:hidden}
.bbs-section--cta .bbs-heading{text-align:left;margin-bottom:var(--s4)}
.bbs-banner-media{position:absolute;inset:0;z-index:-1;pointer-events:none}
.bbs-banner-media img{width:100%;height:100%;object-fit:cover;object-position:80% 50%}
.bbs-banner-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--surface-dark),color-mix(in srgb,var(--surface-dark) 92%,transparent) 50%,color-mix(in srgb,var(--surface-dark) 48%,transparent))}
.bbs-cta-body{max-width:720px;font-size:var(--type-body);line-height:var(--leading-body);color:var(--text-on-dark-muted);margin:0 0 var(--s5)}
.bbs-actions{display:flex;flex-wrap:wrap;gap:var(--s4)}
body.bbs-landing-v1 .bbs-primary-action{background:var(--text-on-dark);border-color:var(--text-on-dark);color:var(--bess-navy)}
body.bbs-landing-v1 .bbs-primary-action:hover{background:var(--surface-soft);border-color:var(--surface-soft);color:var(--bess-navy)}
@media(min-width:1180px){.bbs-heading-line{display:block}}
@media(max-width:1179px){.bbs-product-body,.bbs-method-body{padding:var(--s4)}.bbs-method{gap:var(--s7)}.bbs-method>li+li::before{left:calc(var(--s7) / -2)}}
@media(max-width:991px){.bbs-products{grid-template-columns:minmax(0,1fr)}.bbs-product-body{padding:var(--s5)}.bbs-product figure{aspect-ratio:16/9}.bbs-method{grid-template-columns:minmax(0,1fr);gap:var(--s8)}.bbs-method>li+li::before{left:50%;top:calc(var(--s8) / -2);transform:translate(-50%,-50%) rotate(90deg)}.bbs-method article{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.bbs-method figure{aspect-ratio:16/9;align-self:start}.bbs-method img{min-height:100%}}
@media(max-width:767px){.bbs-section .bbs-heading{margin-bottom:var(--s6)}.bbs-section .bbs-image-cards{gap:var(--s7)}.bbs-product-body{padding:var(--s4)}.bbs-method article{display:flex}.bbs-method figure{aspect-ratio:16/9}.bbs-method-body{padding:var(--s5)}.bbs-banner-media::after{background:color-mix(in srgb,var(--surface-dark) 88%,transparent)}.bbs-actions{flex-direction:column;align-items:flex-start}.bbs-actions .button{max-width:100%;white-space:normal;text-align:left;font-size:var(--type-support);padding-inline:var(--s4)}}
