
#bsm-tech-home{
 --gold:#d1aa3f;--gold2:#f2d46d;--bg:#050708;--panel:#0a0e11;--text:#f6f7f8;--muted:#9ea6ac;--line:rgba(255,255,255,.12);
 width:100vw!important;max-width:none!important;position:relative!important;left:50%!important;margin-left:-50vw!important;margin-right:-50vw!important;
 background:#050708;color:var(--text);overflow:hidden;font-family:Arial,Helvetica,sans-serif
}
body:has(#bsm-tech-home){overflow-x:hidden}
.elementor-widget-shortcode:has(#bsm-tech-home),
.elementor-widget-shortcode:has(#bsm-tech-home)>.elementor-widget-container,
.e-con:has(#bsm-tech-home),.e-con-inner:has(#bsm-tech-home),
.elementor-section:has(#bsm-tech-home){max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
#bsm-tech-home *{box-sizing:border-box}
#bsm-tech-home a{text-decoration:none;color:inherit}
.bsm-wrap{width:min(1220px,calc(100% - 40px));margin:auto}
.kicker{color:var(--gold2);font-size:11px;letter-spacing:.18em;font-weight:700;margin-bottom:14px}
.bsm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:1px solid rgba(209,170,63,.65);font-size:11px;font-weight:700;letter-spacing:.03em;transition:.25s}
.bsm-btn:hover{transform:translateY(-2px)}
.bsm-btn.gold{background:linear-gradient(135deg,var(--gold2),#b88921);color:#080909;border:0}
.bsm-btn.glass{background:rgba(0,0,0,.35);border-color:rgba(255,255,255,.25)}
.bsm-hero{min-height:820px;position:relative;background:#050708}
.bsm-hero:before{content:"";position:absolute;inset:0;background-image:var(--hero);background-size:cover;background-position:center 35%;filter:saturate(.8) contrast(1.06)}
.bsm-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,4,6,.98),rgba(2,4,6,.72) 40%,rgba(2,4,6,.16) 75%),linear-gradient(0deg,#050708,transparent 35%)}
.bsm-header{position:absolute;z-index:5;top:0;left:50%;transform:translateX(-50%);width:min(1280px,calc(100% - 40px));height:104px;display:flex;align-items:center;gap:32px;border-bottom:1px solid rgba(255,255,255,.09)}
.bsm-logo img{width:78px;height:82px;object-fit:contain;display:block}
.bsm-header nav{margin-left:auto;display:flex;gap:28px}
.bsm-header nav a{font-size:11px;font-weight:700}
.bsm-header>.bsm-btn{margin-left:14px}
.hero-copy{position:relative;z-index:3;padding-top:245px}
.hero-copy h1{font-size:64px;line-height:.98;letter-spacing:-.045em;font-weight:400;margin:0 0 25px;max-width:650px}
.hero-copy h1 b{font-weight:800}.hero-copy h1 span{color:var(--gold2)}
.hero-copy p{max-width:500px;color:#c2c8cc;font-size:14px;line-height:1.75}
.actions{display:flex;gap:12px;margin-top:30px}
.feature-bar{position:absolute;z-index:4;left:50%;bottom:26px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);background:rgba(5,8,10,.78);backdrop-filter:blur(16px)}
.feature-bar>div{padding:20px;color:var(--gold2);display:flex;gap:13px;align-items:center;border-right:1px solid var(--line)}
.feature-bar>div:last-child{border-right:0}.feature-bar span{color:#aab2b7;font-size:11px}.feature-bar b{display:block;color:#fff}
.section{padding:82px 0;background:#070a0c;border-top:1px solid rgba(255,255,255,.06)}
.about-grid{display:grid;grid-template-columns:1.05fr .95fr .55fr;gap:26px}
.section h2{font-size:38px;line-height:1.13;letter-spacing:-.035em;font-weight:400;margin:0 0 18px}.section h2 b{font-weight:800}
.section p{color:var(--muted);font-size:13px;line-height:1.8}
.text-link{display:inline-flex;margin-top:10px;padding:13px 17px;border:1px solid rgba(209,170,63,.55);font-size:10px;font-weight:700}
.about-image{min-height:430px;border:1px solid var(--line);overflow:hidden}.about-image img{width:100%;height:100%;object-fit:cover;display:block}
.mini{display:grid;gap:14px}.mini article,.why article{padding:23px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015))}
.mini i,.why i{font-size:28px;color:var(--gold2);font-style:normal}.mini h3,.why h3{font-size:14px;margin:16px 0 8px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats>div{padding:26px 22px;border-right:1px solid var(--line)}.stats>div:last-child{border-right:0}.stats b{font-size:31px;display:block}.stats span{font-size:9px;color:#9ba3a8}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:28px}
.service-grid,.project-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}
.service-card{min-height:340px;position:relative;display:flex;align-items:flex-end;padding:18px;border:1px solid var(--line);overflow:hidden}
.service-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(0deg,rgba(2,4,5,.98),rgba(2,4,5,.12) 70%),var(--card);background-size:cover;background-position:center;transition:.4s}
.service-card:hover:before{transform:scale(1.05)}.service-card>div{position:relative;z-index:2}.service-card h3{font-size:13px;line-height:1.35}.service-card p{font-size:10px;margin-bottom:0}
.project-card{min-height:320px;position:relative;border:1px solid var(--line);overflow:hidden}.project-card img{position:absolute;width:100%;height:100%;object-fit:cover;display:block;transition:.4s}.project-card:hover img{transform:scale(1.05)}
.shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.96),transparent 68%)}.project-info{position:absolute;z-index:2;left:15px;right:15px;bottom:15px}.project-info h3{font-size:13px;margin:0 0 5px}.project-info span{font-size:9px;color:#a8afb3}
.why{background:radial-gradient(circle at 25% 20%,rgba(39,88,120,.12),transparent 35%),#05080a}.why-grid{display:grid;grid-template-columns:1.1fr repeat(4,1fr);gap:10px}.why article{min-height:240px}.why article p{font-size:10px}
.cta{padding:48px 0;background:linear-gradient(90deg,#080b0d,#151d23);border-top:1px solid rgba(209,170,63,.25)}.cta .bsm-wrap{display:flex;justify-content:space-between;align-items:center;gap:25px}.cta small{color:var(--gold2)}.cta h2{font-size:29px;margin:5px 0}
@media(max-width:1050px){.bsm-header nav{display:none}.bsm-header>.bsm-btn{margin-left:auto}.about-grid{grid-template-columns:1fr 1fr}.mini{grid-column:1/-1;grid-template-columns:1fr 1fr}.service-grid,.project-grid{grid-template-columns:repeat(3,1fr)}.why-grid{grid-template-columns:1fr 1fr}.why-grid>div:first-child{grid-column:1/-1}}
@media(max-width:700px){.bsm-wrap{width:calc(100% - 28px)}.bsm-header{width:calc(100% - 28px)}.hero-copy{padding-top:190px}.hero-copy h1{font-size:40px}.actions{flex-direction:column;align-items:flex-start}.feature-bar{grid-template-columns:1fr 1fr}.feature-bar>div:nth-child(n+3){display:none}.about-grid{grid-template-columns:1fr}.mini{grid-column:auto;grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.head{align-items:flex-start;flex-direction:column}.service-grid,.project-grid{grid-template-columns:1fr 1fr}.why-grid{grid-template-columns:1fr}.why-grid>div:first-child{grid-column:auto}.cta .bsm-wrap{flex-direction:column;align-items:flex-start}}


/* v1.3 — YouTube video hero */
.bsm-hero:before{display:none!important}
.bsm-hero-media{position:absolute;inset:0;overflow:hidden;background:#050708}
.bsm-image-fallback{position:absolute;inset:0;background-image:var(--hero);background-size:cover;background-position:center 35%}
.bsm-video-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s ease;pointer-events:none}
.bsm-video-slide.is-active{opacity:1;visibility:visible}
.bsm-video-slide iframe{
  position:absolute;
  top:50%;left:50%;
  width:177.78vh;
  height:56.25vw;
  min-width:100%;
  min-height:100%;
  transform:translate(-50%,-50%) scale(1.03);
  pointer-events:none;
}
.bsm-slide-dots{
  position:absolute;z-index:6;left:50%;bottom:112px;transform:translateX(-50%);
  display:flex;gap:8px
}
.bsm-slide-dots button{
  width:26px;height:3px;border:0;padding:0;background:rgba(255,255,255,.25);cursor:pointer;transition:.3s
}
.bsm-slide-dots button.is-active{background:var(--gold2);width:42px}
@media(max-width:700px){
  .bsm-slide-dots{bottom:132px}
  .bsm-video-slide iframe{width:220vh;min-width:220%;height:100%}
}


/* v1.5 — Technology interaction layer */
#bsm-tech-home{cursor:none}
#bsm-tech-home a,
#bsm-tech-home button{cursor:none}

.bsm-cursor-dot,
.bsm-cursor-ring{
  position:fixed;
  left:0;top:0;
  pointer-events:none;
  z-index:999999;
  opacity:0;
  will-change:transform;
}
.bsm-cursor-dot{
  width:6px;height:6px;
  border-radius:50%;
  background:var(--gold2);
  box-shadow:0 0 18px rgba(242,212,109,.9);
  transform:translate(-50%,-50%);
}
.bsm-cursor-ring{
  width:34px;height:34px;
  border:1px solid rgba(242,212,109,.75);
  border-radius:50%;
  transform:translate(-50%,-50%);
  transition:width .18s ease,height .18s ease,border-color .18s ease,background .18s ease;
  box-shadow:0 0 24px rgba(209,170,63,.14), inset 0 0 16px rgba(209,170,63,.05);
}
#bsm-tech-home.bsm-hovering .bsm-cursor-ring{
  width:52px;height:52px;
  border-color:rgba(242,212,109,.95);
  background:rgba(209,170,63,.08);
}
.bsm-mouse-glow{
  position:fixed;
  width:420px;height:420px;
  border-radius:50%;
  pointer-events:none;
  z-index:2;
  opacity:0;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(209,170,63,.10) 0%,rgba(47,97,126,.055) 32%,transparent 70%);
  filter:blur(8px);
  mix-blend-mode:screen;
  will-change:left,top,opacity;
}

/* Fixed low-contrast animated circuit lines */
.bsm-tech-lines{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1;
  overflow:hidden;
  opacity:.42;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.42) 68%,transparent);
}
.bsm-tech-lines .tl{
  position:absolute;
  display:block;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(92,166,205,.0),rgba(92,166,205,.42),rgba(209,170,63,.58),transparent);
  box-shadow:0 0 8px rgba(92,166,205,.14);
  transform-origin:left center;
}
.bsm-tech-lines .tl:after{
  content:"";
  position:absolute;
  right:18%;
  top:-2px;
  width:5px;height:5px;border-radius:50%;
  background:rgba(242,212,109,.78);
  box-shadow:0 0 14px rgba(242,212,109,.8);
}
.bsm-tech-lines .tl1{width:54vw;left:-12vw;top:19vh;transform:rotate(17deg);animation:bsm-line-a 11s linear infinite}
.bsm-tech-lines .tl2{width:46vw;right:-8vw;top:34vh;transform:rotate(-21deg);animation:bsm-line-b 14s linear infinite}
.bsm-tech-lines .tl3{width:64vw;left:8vw;top:53vh;transform:rotate(7deg);animation:bsm-line-a 17s linear infinite reverse}
.bsm-tech-lines .tl4{width:40vw;right:3vw;top:68vh;transform:rotate(26deg);animation:bsm-line-b 13s linear infinite}
.bsm-tech-lines .tl5{width:36vw;left:12vw;top:81vh;transform:rotate(-13deg);animation:bsm-line-a 16s linear infinite}
.bsm-tech-lines .tl6{width:50vw;right:-14vw;top:88vh;transform:rotate(9deg);animation:bsm-line-b 20s linear infinite reverse}

@keyframes bsm-line-a{
  0%{translate:-8% 0;opacity:.08}
  18%{opacity:.42}
  52%{translate:12% 2vh;opacity:.62}
  100%{translate:26% -1vh;opacity:.08}
}
@keyframes bsm-line-b{
  0%{translate:10% 0;opacity:.10}
  30%{opacity:.48}
  65%{translate:-10% 2vh;opacity:.58}
  100%{translate:-22% -1vh;opacity:.08}
}

/* Small scanning detail on cards */
.project-card:after,
.why article:after,
.mini article:after{
  content:"";
  position:absolute;
  left:-120%;
  top:0;
  width:70%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold2),transparent);
  opacity:.0;
}
.project-card:hover:after,
.why article:hover:after,
.mini article:hover:after{
  opacity:.8;
  animation:bsm-card-scan .85s ease forwards;
}
@keyframes bsm-card-scan{
  from{left:-120%}
  to{left:150%}
}
.why article,.mini article{position:relative;overflow:hidden}

@media (hover:none),(pointer:coarse),(max-width:700px){
  #bsm-tech-home,#bsm-tech-home a,#bsm-tech-home button{cursor:auto}
  .bsm-cursor-dot,.bsm-cursor-ring,.bsm-mouse-glow{display:none!important}
  .bsm-tech-lines{opacity:.20}
}
@media (prefers-reduced-motion:reduce){
  .bsm-tech-lines .tl{animation:none!important}
  .project-card:hover:after,.why article:hover:after,.mini article:hover:after{animation:none!important}
}


/* v1.6 — Hero digital HUD / grid */
.bsm-hero-grid{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.20;
  background-image:
    linear-gradient(rgba(95,149,183,.14) 1px,transparent 1px),
    linear-gradient(90deg,rgba(95,149,183,.14) 1px,transparent 1px),
    linear-gradient(rgba(209,170,63,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(209,170,63,.08) 1px,transparent 1px);
  background-size:84px 84px,84px 84px,21px 21px,21px 21px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.55) 58%,rgba(0,0,0,.18));
  animation:bsm-grid-drift 22s linear infinite;
}
@keyframes bsm-grid-drift{
  from{background-position:0 0,0 0,0 0,0 0}
  to{background-position:84px 42px,42px 84px,21px 10px,10px 21px}
}

.bsm-hud-corners{
  position:absolute;
  inset:122px 34px 102px;
  z-index:4;
  pointer-events:none;
}
.bsm-hud-corners .hc{
  position:absolute;
  width:45px;height:45px;
  opacity:.62;
}
.bsm-hud-corners .hc:before,
.bsm-hud-corners .hc:after{
  content:"";
  position:absolute;
  background:linear-gradient(90deg,var(--gold2),rgba(209,170,63,.18));
  box-shadow:0 0 10px rgba(209,170,63,.12);
}
.bsm-hud-corners .hc:before{width:45px;height:1px}
.bsm-hud-corners .hc:after{width:1px;height:45px}
.hc-tl{left:0;top:0}.hc-tl:before,.hc-tl:after{left:0;top:0}
.hc-tr{right:0;top:0;transform:rotate(90deg)}.hc-tr:before,.hc-tr:after{left:0;top:0}
.hc-bl{left:0;bottom:0;transform:rotate(-90deg)}.hc-bl:before,.hc-bl:after{left:0;top:0}
.hc-br{right:0;bottom:0;transform:rotate(180deg)}.hc-br:before,.hc-br:after{left:0;top:0}

.bsm-coordinate{
  position:absolute;
  z-index:5;
  top:50%;
  pointer-events:none;
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:8px;
  letter-spacing:.18em;
  color:rgba(210,220,226,.45);
  text-transform:uppercase;
  writing-mode:vertical-rl;
}
.bsm-coordinate-left{left:16px;transform:translateY(-50%) rotate(180deg)}
.bsm-coordinate-right{right:16px;transform:translateY(-50%)}
.bsm-coordinate span:first-child{color:rgba(242,212,109,.62)}

.bsm-slide-counter{
  position:absolute;
  z-index:7;
  left:calc(50% - min(610px,calc(50vw - 20px)));
  bottom:123px;
  display:flex;
  align-items:center;
  gap:10px;
  pointer-events:none;
  font-family:Arial,Helvetica,sans-serif;
}
.bsm-slide-counter strong{
  color:var(--gold2);
  font-size:16px;
  line-height:1;
  letter-spacing:.06em;
}
.bsm-slide-counter i{
  width:56px;height:1px;
  display:block;
  background:linear-gradient(90deg,var(--gold2),rgba(255,255,255,.16));
  position:relative;
  overflow:hidden;
}
.bsm-slide-counter i:after{
  content:"";
  position:absolute;
  top:0;bottom:0;
  width:16px;
  background:#fff;
  box-shadow:0 0 9px rgba(242,212,109,.65);
  animation:bsm-counter-scan 2.4s ease-in-out infinite;
}
@keyframes bsm-counter-scan{
  0%{left:-18px;opacity:0}
  20%{opacity:.8}
  80%{opacity:.8}
  100%{left:60px;opacity:0}
}
.bsm-slide-counter span{
  color:rgba(255,255,255,.46);
  font-size:10px;
  letter-spacing:.08em;
}

/* tech scanning beam across hero */
.bsm-hero-media:after{
  content:"";
  position:absolute;
  z-index:2;
  top:-10%;
  left:-20%;
  width:30%;
  height:120%;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(91,160,198,.045),rgba(242,212,109,.055),transparent);
  transform:skewX(-12deg);
  animation:bsm-hero-beam 9s ease-in-out infinite;
}
@keyframes bsm-hero-beam{
  0%,12%{left:-35%;opacity:0}
  22%{opacity:1}
  70%{opacity:.75}
  88%,100%{left:120%;opacity:0}
}

/* animated micro ticks */
.bsm-hero:after{
  content:"";
  position:absolute;
  z-index:4;
  pointer-events:none;
  top:130px;
  right:38px;
  width:2px;
  height:180px;
  opacity:.45;
  background:repeating-linear-gradient(to bottom,var(--gold2) 0 2px,transparent 2px 11px);
  animation:bsm-ticks-pulse 3.2s ease-in-out infinite;
}
@keyframes bsm-ticks-pulse{50%{opacity:.15}}

@media(max-width:700px){
  .bsm-hud-corners{inset:105px 14px 108px}
  .bsm-coordinate{display:none}
  .bsm-slide-counter{
    left:14px;
    bottom:148px;
  }
  .bsm-slide-counter i{width:38px}
  .bsm-hero-grid{opacity:.11;background-size:70px 70px,70px 70px,20px 20px,20px 20px}
  .bsm-hero:after{right:12px;top:115px;height:120px}
}
@media(prefers-reduced-motion:reduce){
  .bsm-hero-grid,
  .bsm-slide-counter i:after,
  .bsm-hero-media:after,
  .bsm-hero:after{animation:none!important}
}
