/* BSM Builder — front-end styles for rendered content (theme-agnostic). */
.bsm-section{width:100%;padding-left:24px;padding-right:24px;box-sizing:border-box}
.bsm-section--grad{background:linear-gradient(115deg,#3b82f6,#22d3ee)}
.bsm-inner{margin:0 auto;display:flex;flex-direction:column;gap:.8rem}
.bsm-row{display:flex;flex-wrap:wrap;gap:20px}
.bsm-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:.8rem}
.bsm-card{background:#0d1117;border:1px solid rgba(139,161,196,.14);border-radius:14px;padding:1.4rem;display:flex;flex-direction:column;gap:.6rem}
.bsm-eyebrow{margin:0;color:#22d3ee;font-weight:600;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}
.bsm-grad{background:linear-gradient(115deg,#3b82f6,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}
.bsm-lead{font-size:1.15rem;line-height:1.7}
.bsm-btn{display:inline-block;background:linear-gradient(115deg,#3b82f6,#22d3ee);color:#05080f;font-weight:600;padding:.7rem 1.4rem;border-radius:10px;text-decoration:none;width:max-content}
.bsm-btn--outline{background:transparent;color:#cdd5e0;border:1px solid rgba(139,161,196,.3)}
.bsm-stat{display:flex;flex-direction:column;gap:.25rem}
.bsm-stat__num{font-size:clamp(2rem,1.4rem + 2vw,3rem);font-weight:700;letter-spacing:-.02em;line-height:1}
.bsm-stat__label{color:#8b97a8;font-size:.95rem}
.bsm-pill{display:inline-block;border:1px solid rgba(139,161,196,.14);border-radius:999px;padding:.28rem .8rem;margin:0 .4rem .4rem 0;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.78rem;color:#8b97a8}
.bsm-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.bsm-icon--chip{width:2.2em;height:2.2em;border-radius:14px;background:#161b22;border:1px solid rgba(139,161,196,.14)}
.bsm-img{max-width:100%;height:auto;display:block}
.bsm-img--round{border-radius:14px}
.bsm-spacer{width:100%}
.bsm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.bsm-list li{position:relative;padding-left:1.7rem}
.bsm-list li::before{content:"\2713";position:absolute;left:0;color:#22d3ee;font-weight:700}
.bsm-quote{margin:0;border-left:3px solid #3b82f6;padding:.15rem 0 .15rem 1.2rem}
.bsm-quote__q{margin:0;font-size:1.25rem;line-height:1.5;font-weight:500}
.bsm-quote__cite{margin-top:.6rem;color:#8b97a8;font-size:.9rem;font-style:normal}
.bsm-quote__cite::before{content:"\2014\00a0"}
.bsm-divider{border:0;border-top:1px solid rgba(139,161,196,.18);margin:.5rem 0}
.bsm-section--grad,.bsm-section--grad :is(h1,h2,h3,h4),.bsm-section--grad .bsm-lead,.bsm-section--grad p{color:#05080f}
.bsm-section--grad .bsm-eyebrow{color:rgba(5,8,15,.75)}
.bsm-section--grad .bsm-grad{background:none;-webkit-text-fill-color:#05080f;color:#05080f}
.bsm-section--grad .bsm-btn{background:#05080f;color:#e8ecf2}
.bsm-section--grad .bsm-btn--outline{background:transparent;color:#05080f;border-color:rgba(5,8,15,.45)}
.bsm-btn--sm{padding:.45rem 1rem;font-size:.9rem}
.bsm-btn--lg{padding:.9rem 1.8rem;font-size:1.1rem}
.bsm-btn--block{display:block;width:100%;text-align:center}
.bsm-card--shadow{box-shadow:0 8px 30px rgba(0,0,0,.35)}
.bsm-acc{display:flex;flex-direction:column;gap:.6rem}
.bsm-acc__item{background:#0d1117;border:1px solid rgba(139,161,196,.14);border-radius:12px;padding:.9rem 1.1rem}
.bsm-acc__q{cursor:pointer;font-weight:600;color:#e8ecf2;list-style:none;position:relative;padding-right:1.5rem}
.bsm-acc__q::-webkit-details-marker{display:none}
.bsm-acc__q::after{content:"+";position:absolute;right:0;top:0;color:#22d3ee}
.bsm-acc__item[open] .bsm-acc__q::after{content:"\2212"}
.bsm-acc__a{margin-top:.6rem;color:#cdd5e0}
.bsm-video{position:relative;padding-top:56.25%;border-radius:12px;overflow:hidden}
.bsm-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.bsm-map{position:relative;padding-top:52%;border-radius:12px;overflow:hidden}
.bsm-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.bsm-social{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.bsm-social__link{display:inline-block;border:1px solid rgba(139,161,196,.3);border-radius:999px;padding:.3rem .85rem;font-size:.85rem;color:#cdd5e0;text-decoration:none;transition:border-color .15s,color .15s}
.bsm-social__link:hover{border-color:#3b82f6;color:#e8ecf2}
.bsm-gallery{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
.bsm-gallery img,.bsm-gallery .bsm-img{width:100%;height:100%;object-fit:cover;border-radius:12px}
@media(min-width:900px){.bsm-gallery--3{grid-template-columns:repeat(3,1fr)}.bsm-gallery--4{grid-template-columns:repeat(4,1fr)}}
@media(max-width:782px){.bsm-row{flex-direction:column}}
/* Zero-JS entrance animations (CSS scroll-driven) + hover effects */
@media (prefers-reduced-motion:no-preference){
@supports (animation-timeline:view()){
.bsm-anim{animation:linear both;animation-timeline:view();animation-range:entry 0% cover 28%}
.bsm-anim--fade-up{animation-name:bsmFadeUp}
.bsm-anim--fade-in{animation-name:bsmFadeIn}
.bsm-anim--zoom-in{animation-name:bsmZoomIn}
}
@keyframes bsmFadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes bsmFadeIn{from{opacity:0}to{opacity:1}}
@keyframes bsmZoomIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
}
.bsm-hover--lift{transition:transform .2s ease,box-shadow .2s ease}
.bsm-hover--lift:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(0,0,0,.4)}
.bsm-hover--glow{transition:box-shadow .2s ease}
.bsm-hover--glow:hover{box-shadow:0 0 0 1px rgba(59,130,246,.6),0 10px 34px rgba(59,130,246,.25)}
