.elementor-913 .elementor-element.elementor-element-ffc23f1{--display:flex;}.elementor-913 .elementor-element.elementor-element-ffc23f1:not(.elementor-motion-effects-element-type-background), .elementor-913 .elementor-element.elementor-element-ffc23f1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-text );}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-ee5224d *//* =========================================================
   Beyond Logic Studio — VIDEOGIOCHI
   Intro + progetti videogiochi + lightbox media
   Stile squadrato coerente con il sito
   ========================================================= */

:root{
  --bls-blue-dark:#171b33;
  --bls-blue-mid:#224f83;
  --bls-cyan:#58c2dc;
  --bls-text-body:#3f4a66;

  --bls-border:rgba(23,27,51,0.08);
  --bls-border-strong:rgba(23,27,51,0.12);

  --bls-radius-lg:0;
  --bls-radius-md:0;
  --bls-radius-sm:0;

  --bls-shadow-lg:0 18px 42px rgba(8,14,40,0.10);
  --bls-shadow-hover:0 22px 48px rgba(8,14,40,0.14);

  --bls-max:960px;
  --bls-pad-x:16px;
}

/* RESET LOCALE */

.bls-work-page,
.bls-work-page *{
  box-sizing:border-box;
}

.bls-work-page{
  width:100%;
  background:transparent;
  color:var(--bls-blue-dark);
  font-family:'Montserrat',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

.bls-work-inner{
  max-width:var(--bls-max);
  margin:0 auto;
  padding:0 var(--bls-pad-x) 96px;
}

html.bls-lightbox-open,
body.bls-lightbox-open{
  overflow:hidden !important;
}

/* =========================================================
   ANIMAZIONI
   ========================================================= */

.bls-work-anim{
  opacity:0;
  transform:translateY(18px);
  transition:
    opacity .6s ease,
    transform .6s ease;
  will-change:opacity, transform;
}

.bls-work-anim.is-in{
  opacity:1;
  transform:translateY(0);
}

.bls-work-anim.d1.is-in{ transition-delay:.06s; }
.bls-work-anim.d2.is-in{ transition-delay:.12s; }
.bls-work-anim.d3.is-in{ transition-delay:.18s; }
.bls-work-anim.d4.is-in{ transition-delay:.24s; }
.bls-work-anim.d5.is-in{ transition-delay:.30s; }
.bls-work-anim.d6.is-in{ transition-delay:.36s; }

@media (prefers-reduced-motion: reduce){
  .bls-work-anim,
  .bls-work-anim.is-in{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}

/* =========================================================
   INTRO
   ========================================================= */

.bls-work-hero{
  background:#ffffff;
  border:1px solid var(--bls-border);
  border-radius:0;
  box-shadow:var(--bls-shadow-lg);

  padding:36px;
  margin:15px 0 40px;
}

.bls-work-kicker{
  display:inline-block;
  margin:0 0 6px;

  color:var(--bls-blue-mid);
  font-size:0.75rem;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:0.18em;
  font-weight:700;
}

.bls-work-title{
  margin:0 0 12px;

  color:var(--bls-blue-dark);
  font-size:2.2rem;
  line-height:1.2;
  font-weight:700;
}

.bls-work-subtitle{
  max-width:780px;
  margin:0 0 14px;

  color:var(--bls-text-body);
  font-size:1.02rem;
  line-height:1.7;
}

.bls-work-text{
  max-width:780px;
  margin:0;

  color:var(--bls-text-body);
  font-size:0.96rem;
  line-height:1.75;
}

/* =========================================================
   LISTA PROGETTI
   ========================================================= */

.bls-work-projects{
  display:grid;
  gap:24px;
}

/* =========================================================
   CARD PROGETTO
   ========================================================= */

.bls-project-card{
  display:grid;
  grid-template-columns:minmax(280px,0.9fr) minmax(0,1.1fr);
  gap:0;

  background:#ffffff;
  border:1px solid var(--bls-border);
  border-radius:0;
  box-shadow:var(--bls-shadow-lg);
  overflow:hidden;

  transition:
    box-shadow .25s ease,
    border-color .25s ease;
}

.bls-project-card:hover{
  box-shadow:var(--bls-shadow-hover);
  border-color:rgba(34,79,131,0.18);
}

/* Fix animazione card progetto */
.bls-project-card.bls-work-anim{
  opacity:0;
  transform:translateY(18px);

  transition:
    opacity .6s ease,
    transform .6s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.bls-project-card.bls-work-anim.is-in{
  opacity:1;
  transform:translateY(0);
}

.bls-project-card.bls-work-anim.d1.is-in{ transition-delay:.06s; }
.bls-project-card.bls-work-anim.d2.is-in{ transition-delay:.12s; }
.bls-project-card.bls-work-anim.d3.is-in{ transition-delay:.18s; }
.bls-project-card.bls-work-anim.d4.is-in{ transition-delay:.24s; }
.bls-project-card.bls-work-anim.d5.is-in{ transition-delay:.30s; }
.bls-project-card.bls-work-anim.d6.is-in{ transition-delay:.36s; }

/* =========================================================
   MEDIA PREVIEW PROGETTO
   ========================================================= */

.bls-project-media{
  padding:16px;
  border-right:1px solid var(--bls-border);
  background:#f6f7fb;
}

.bls-project-media-main{
  width:100%;
  aspect-ratio:16 / 9;

  border-radius:0;
  overflow:hidden;
  background:#ffffff;
}

.bls-project-media-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:8px;
}

.bls-project-media-strip--two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.bls-project-media-thumb{
  aspect-ratio:16 / 9;

  border-radius:0;
  overflow:hidden;
}

/* Variante Landit: tre screenshot portrait affiancati, senza immagine grande */

.bls-project-media--portrait-row{
  display:flex;
  align-items:flex-start;
  justify-content:center;
}

.bls-project-media-portrait-row{
  width:100%;
  max-width:340px;
  margin:0 auto;

  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.bls-project-media-thumb--portrait{
  aspect-ratio:9 / 16;
  background:#ffffff;
}

.bls-project-media-thumb--portrait img{
  object-fit:cover;
  object-position:center center;
}

/* RESET AGGRESSIVO DEI BUTTON MEDIA */

button.bls-project-media-main,
button.bls-project-media-thumb{
  -webkit-appearance:none !important;
  appearance:none !important;
  display:block !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  background-image:none !important;
  border-radius:0 !important;
  font:inherit !important;
  line-height:normal !important;
  color:inherit !important;
  text-align:inherit !important;
  text-decoration:none !important;
  cursor:pointer !important;
  overflow:hidden !important;
  -webkit-tap-highlight-color:transparent !important;
}

button.bls-project-media-main::before,
button.bls-project-media-main::after,
button.bls-project-media-thumb::before,
button.bls-project-media-thumb::after{
  content:none !important;
  display:none !important;
}

button.bls-project-media-main:hover,
button.bls-project-media-main:active,
button.bls-project-media-main:focus,
button.bls-project-media-main:focus-visible,
button.bls-project-media-thumb:hover,
button.bls-project-media-thumb:active,
button.bls-project-media-thumb:focus,
button.bls-project-media-thumb:focus-visible{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  background-image:none !important;
}

.bls-project-media-preview,
.bls-project-media-thumb{
  position:relative;
}

.bls-project-media-preview img,
.bls-project-media-thumb img{
  display:block;
  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center center;

  transform:scale(1);
  transition:transform .35s ease;
}

.bls-project-media-preview:hover img,
.bls-project-media-preview:focus img{
  transform:scale(1.03);
}

.bls-project-media-thumb:hover img,
.bls-project-media-thumb:focus img{
  transform:scale(1.06);
}

.bls-project-media-preview--video{
  background:#000000;
}

.bls-project-media-preview--video img{
  opacity:0.82;
}

.bls-project-media-overlay{
  position:absolute;
  inset:0;
  z-index:2;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:16px;
  background:linear-gradient(180deg, rgba(8,14,40,0.06), rgba(8,14,40,0.35));
  pointer-events:none;
}

.bls-project-media-play{
  display:flex;
  align-items:center;
  justify-content:center;

  width:48px;
  height:48px;
  padding:0;

  border-radius:0;
  border:1px solid var(--bls-blue-mid) !important;
  background:var(--bls-blue-mid) !important;
  color:#ffffff !important;
  box-shadow:0 12px 28px rgba(8,14,40,0.20);

  transition:
    color .2s ease,
    background-color .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}

.bls-project-media-play::before,
.bls-project-media-play::after{
  content:none !important;
  display:none !important;
}

.bls-project-media-play svg{
  width:30px;
  height:30px;

  stroke:currentColor;
  stroke-width:1.8;
  fill:none;
  stroke-linecap:square;
  stroke-linejoin:miter;
}

.bls-project-media-play svg path{
  fill:currentColor;
  stroke:none;
}

.bls-project-media-preview:hover .bls-project-media-play,
.bls-project-media-preview:focus .bls-project-media-play{
  background:var(--bls-cyan) !important;
  color:var(--bls-blue-dark) !important;
  border-color:var(--bls-cyan) !important;
  box-shadow:0 16px 34px rgba(8,14,40,0.24);
  transform:scale(1.04);
}

/* =========================================================
   CONTENUTO PROGETTO
   ========================================================= */

.bls-project-content{
  min-width:0;

  display:flex;
  flex-direction:column;

  padding:24px 26px 24px;
}

.bls-project-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 12px;
}

.bls-project-tag{
  display:inline-flex;
  align-items:center;

  min-height:26px;
  padding:5px 10px;

  border-radius:0;
  border:1px solid var(--bls-border);
  background:#ffffff;
  color:var(--bls-blue-dark);

  font-size:0.72rem;
  line-height:1;
  font-weight:700;
  letter-spacing:0.03em;
}

.bls-project-tag--game{
  color:var(--bls-blue-mid);
  border-color:rgba(34,79,131,0.22);
  background:rgba(34,79,131,0.055);
}

.bls-project-tag--software{
  color:#146b7d;
  border-color:rgba(88,194,220,0.34);
  background:rgba(88,194,220,0.10);
}

.bls-project-tag--consulting{
  color:var(--bls-blue-dark);
  border-color:rgba(23,27,51,0.14);
  background:#f6f7fb;
}

.bls-project-title{
  margin:0 0 8px;

  color:var(--bls-blue-dark);
  font-size:1.36rem;
  line-height:1.2;
  font-weight:700;
}

.bls-project-desc{
  margin:0 0 16px;

  color:var(--bls-text-body);
  font-size:0.92rem;
  line-height:1.62;
}

.bls-project-details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;

  margin:0 0 16px;
}

.bls-project-detail{
  padding:11px 12px;

  border:1px solid var(--bls-border);
  border-radius:0;
  background:#ffffff;
}

.bls-project-detail-label{
  display:block;
  margin:0 0 4px;

  color:var(--bls-blue-dark);
  font-size:0.68rem;
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-weight:700;
}

.bls-project-detail-value{
  display:block;

  color:var(--bls-text-body);
  font-size:0.84rem;
  line-height:1.4;
  font-weight:500;
}

.bls-project-platforms{
  margin-top:auto;
  padding-top:2px;

  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}

.bls-project-platforms-label{
  width:100%;
  margin-bottom:2px;

  color:var(--bls-blue-dark);
  font-size:0.7rem;
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-weight:700;
}

.bls-project-platform{
  display:inline-flex;
  align-items:center;
  gap:7px;

  min-height:34px;
  padding:7px 12px;

  border-radius:0;
  border:1px solid rgba(34,79,131,0.18);
  background:#ffffff;
  color:var(--bls-blue-mid);
  text-decoration:none;

  font-size:0.8rem;
  font-weight:700;

  transition:
    transform .2s ease,
    color .2s ease,
    border-color .2s ease,
    background-color .2s ease,
    box-shadow .2s ease;
}

.bls-project-platform svg{
  width:17px;
  height:17px;

  stroke:currentColor;
  stroke-width:1.8;
  fill:none;
  stroke-linecap:square;
  stroke-linejoin:miter;

  flex:0 0 auto;
}

.bls-project-platform:hover{
  transform:translateY(-1px);
  color:var(--bls-blue-dark);
  border-color:rgba(88,194,220,0.45);
  background:rgba(88,194,220,0.10);
  box-shadow:0 8px 18px rgba(8,14,40,0.08);
}

.bls-project-platform--disabled{
  color:var(--bls-text-body);
  border-color:var(--bls-border);
  background:#f6f7fb;
  cursor:default;
}

/* =========================================================
   LIGHTBOX MEDIA
   ========================================================= */

.bls-project-lightbox{
  position:fixed;
  inset:0;
  z-index:999999;

  display:none;

  color:#ffffff;
  font-family:'Montserrat',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

.bls-project-lightbox[aria-hidden="false"]{
  display:block;
}

.bls-project-lightbox__backdrop{
  position:absolute;
  inset:0;

  background:rgba(8,14,40,0.86);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.bls-project-lightbox__dialog{
  position:relative;
  z-index:2;

  width:100%;
  height:100%;

  display:grid;
  grid-template-columns:72px minmax(0,1fr) 72px;
  align-items:center;
  gap:12px;

  padding:36px;
}

.bls-project-lightbox__stage{
  min-width:0;
  width:100%;
  max-width:1180px;
  margin:0 auto;
}

.bls-project-lightbox__media{
  width:100%;
  max-height:82vh;
  aspect-ratio:16 / 9;

  border-radius:0;
  overflow:hidden;
  background:#050814;
  box-shadow:0 30px 80px rgba(0,0,0,0.42);
  border:1px solid rgba(255,255,255,0.12);
}

.bls-project-lightbox__media iframe,
.bls-project-lightbox__media img{
  display:block;
  width:100%;
  height:100%;
  border:0;
}

.bls-project-lightbox__media img{
  object-fit:contain;
  background:#050814;
}

.bls-project-lightbox__media iframe{
  background:#050814;
}

.bls-project-lightbox__close,
.bls-project-lightbox__nav{
  width:48px;
  height:48px;
  padding:0;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:0;
  border:1px solid var(--bls-blue-mid) !important;
  background:var(--bls-blue-mid) !important;
  color:#ffffff !important;

  font-family:'Montserrat',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:1.15rem;
  line-height:1;
  font-weight:700;

  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
  outline:none !important;
  box-shadow:0 12px 28px rgba(8,14,40,0.20);

  transition:
    color .2s ease,
    background-color .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    opacity .2s ease,
    transform .2s ease;
}

.bls-project-lightbox__close::before,
.bls-project-lightbox__close::after,
.bls-project-lightbox__nav::before,
.bls-project-lightbox__nav::after{
  content:none !important;
  display:none !important;
}

.bls-project-lightbox__close{
  position:absolute;
  top:22px;
  right:24px;
  z-index:5;

  font-size:1.65rem;
}

.bls-project-lightbox__nav{
  justify-self:center;
}

.bls-project-lightbox__close:hover,
.bls-project-lightbox__close:focus,
.bls-project-lightbox__nav:hover:not(:disabled),
.bls-project-lightbox__nav:focus:not(:disabled),
.bls-project-lightbox__nav:focus-visible:not(:disabled){
  background:var(--bls-cyan) !important;
  color:var(--bls-blue-dark) !important;
  border-color:var(--bls-cyan) !important;
  box-shadow:0 16px 34px rgba(8,14,40,0.24);
  transform:scale(1.04);
  outline:none !important;
}

.bls-project-lightbox__close:active,
.bls-project-lightbox__nav:active:not(:disabled){
  background:var(--bls-blue-dark) !important;
  color:#ffffff !important;
  border-color:var(--bls-blue-dark) !important;
}

.bls-project-lightbox__nav:disabled{
  opacity:0;
  pointer-events:none;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width:900px){
  .bls-project-card{
    grid-template-columns:minmax(0,1fr);
  }

  .bls-project-media{
    border-right:0;
    border-bottom:1px solid var(--bls-border);
  }

  .bls-project-lightbox__dialog{
    grid-template-columns:56px minmax(0,1fr) 56px;
    padding:28px 18px;
  }
}

@media (max-width:768px){
  .bls-work-inner{
    padding-bottom:72px;
  }

  .bls-work-hero{
    padding:26px 22px 24px;
    margin:15px 0 36px;
  }

  .bls-work-title{
    font-size:1.85rem;
  }

  .bls-work-subtitle{
    font-size:0.98rem;
  }

  .bls-project-content{
    padding:22px 22px 24px;
  }

  .bls-project-media{
    padding:16px;
  }

  .bls-project-details{
    grid-template-columns:minmax(0,1fr);
  }

  .bls-project-media-portrait-row{
    max-width:360px;
    gap:8px;
  }

  .bls-project-lightbox__dialog{
    grid-template-columns:1fr;
    align-items:center;
    padding:72px 16px 24px;
  }

  .bls-project-lightbox__stage{
    grid-column:1;
  }

  .bls-project-lightbox__nav{
    position:absolute;
    top:50%;
    z-index:4;

    width:42px;
    height:42px;
    font-size:1rem;
  }

  .bls-project-lightbox__nav--prev{
    left:8px;
  }

  .bls-project-lightbox__nav--next{
    right:8px;
  }

  .bls-project-lightbox__close{
    width:42px;
    height:42px;
    font-size:1.45rem;
    top:18px;
    right:18px;
  }

  .bls-project-lightbox__media{
    max-height:72vh;
    border-radius:0;
  }
}

@media (max-width:520px){
  .bls-project-media-strip{
    grid-template-columns:repeat(3,minmax(72px,1fr));
    overflow-x:auto;
  }

  .bls-project-media-strip--two{
    grid-template-columns:repeat(2,minmax(72px,1fr));
  }

  .bls-project-media-portrait-row{
    max-width:100%;
    gap:7px;
  }

  .bls-project-platform{
    width:100%;
    justify-content:center;
  }

  .bls-project-media-play{
    width:42px;
    height:42px;
  }

  .bls-project-media-play svg{
    width:27px;
    height:27px;
  }
}/* End custom CSS */