/* STAGEO - BIM hero con galleria a scorrimento a destra */
:root{
  --stageo-orange:#ff6b00;
  --stageo-cyan:#00d9ff;
}

.service-hero.hero-bim{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(520px, 690px) minmax(620px, 1fr) !important;
  align-items:center !important;
  gap:clamp(40px, 4vw, 78px) !important;
  min-height:760px !important;
  overflow:hidden !important;
}

.service-hero.hero-bim > .hero-content{
  position:relative !important;
  z-index:3 !important;
  max-width:690px !important;
}

.service-hero.hero-bim .hero-art,
.service-hero.hero-bim > .hero-art{
  display:none !important;
}

.bim-hero-media{
  position:relative;
  z-index:2;
  width:100%;
  min-height:430px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.bim-hero-media::before{
  content:"";
  position:absolute;
  inset:8% 8% 5% 4%;
  transform:rotate(-6deg);
  opacity:.22;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,107,0,.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,107,0,.18) 1px, transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.9) 16%, rgba(0,0,0,.95) 100%);
          mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.9) 16%, rgba(0,0,0,.95) 100%);
}

.bim-panel{
  position:relative;
  width:100%;
  max-width:860px;
  height:402px;
  border:1px solid rgba(0,217,255,.40);
  border-radius:34px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 0%, rgba(0,217,255,.16), transparent 45%),
    linear-gradient(180deg, rgba(7,18,24,.95), rgba(3,10,14,.98));
  box-shadow:
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 0 78px rgba(0,217,255,.10),
    0 26px 90px rgba(0,0,0,.55);
}

.bim-panel::before{
  content:"";
  position:absolute;
  inset:24px;
  border:1px solid rgba(255,107,0,.42);
  border-radius:25px;
  z-index:6;
  opacity:.84;
  pointer-events:none;
}

.bim-panel::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(2,10,14,.94), transparent 11%, transparent 89%, rgba(2,10,14,.94)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 8px);
  opacity:.30;
  z-index:5;
  pointer-events:none;
}

.bim-panel-glow{
  position:absolute;
  width:300px;
  height:74px;
  border:1px solid rgba(0,217,255,.40);
  border-radius:999px;
  left:50%;
  top:24px;
  transform:translateX(-50%);
  box-shadow:0 0 40px rgba(0,217,255,.24);
  z-index:7;
  opacity:.72;
}

.bim-scan-line{
  position:absolute;
  top:0;
  bottom:0;
  width:120px;
  left:-150px;
  background:linear-gradient(90deg, transparent, rgba(0,217,255,.18), transparent);
  z-index:8;
  animation:bimScan 6.2s linear infinite;
}

.bim-marquee{
  position:absolute;
  inset:0;
  overflow:hidden;
  z-index:2;
}

.bim-marquee-track{
  position:absolute;
  top:74px;
  left:0;
  height:240px;
  display:flex;
  gap:20px;
  width:max-content;
  padding:0 34px;
  animation:bimRightToLeft 32s linear infinite;
}

.bim-card{
  flex:0 0 auto;
  width:320px;
  height:240px;
  margin:0;
  border-radius:20px;
  overflow:hidden;
  background:#0b141a;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 45px rgba(0,0,0,.44);
}

.bim-card-wide{
  width:360px;
  border-color:rgba(255,107,0,.58);
  box-shadow:0 0 0 1px rgba(255,107,0,.18), 0 18px 54px rgba(255,107,0,.10);
}

.bim-card-tall{
  width:200px;
}

.bim-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  filter:contrast(1.03) saturate(1.02);
}

.bim-card-tall img{
  object-fit:contain;
  background:#edf0f2;
}

.bim-panel-caption{
  position:absolute;
  left:42px;
  right:42px;
  bottom:28px;
  z-index:9;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
}

.bim-panel-caption strong{
  color:#fff;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.bim-panel-caption span{
  color:var(--stageo-cyan);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

@keyframes bimRightToLeft{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

@keyframes bimScan{
  from{ transform:translateX(0); }
  to{ transform:translateX(1120px); }
}

@media (max-width: 1440px){
  .service-hero.hero-bim{
    grid-template-columns:minmax(430px, 610px) minmax(520px, 1fr) !important;
    gap:44px !important;
  }
  .bim-panel{ max-width:760px; }
}

@media (max-width: 1080px){
  .service-hero.hero-bim{
    grid-template-columns:1fr !important;
    align-items:start !important;
    min-height:auto !important;
  }
  .service-hero.hero-bim > .hero-content{ max-width:100% !important; }
  .bim-hero-media{ justify-content:flex-start; min-height:auto; }
  .bim-panel{ max-width:100%; height:370px; }
  .bim-hero-media::before{ inset:0; transform:rotate(-4deg); }
}

@media (max-width: 700px){
  .bim-panel{ height:340px; border-radius:24px; }
  .bim-panel::before{ inset:14px; border-radius:18px; }
  .bim-panel-glow{ width:220px; height:58px; top:18px; }
  .bim-marquee-track{ top:84px; gap:12px; padding:0 18px; height:188px; }
  .bim-card{ width:220px; height:186px; border-radius:14px; }
  .bim-card-wide{ width:270px; }
  .bim-card-tall{ width:150px; }
  .bim-panel-caption{ left:22px; right:22px; bottom:20px; display:block; }
  .bim-panel-caption span{ display:block; margin-top:8px; }
}
