/* Solvy V76 — two-row recent-work showcase */
.v8-hero-visual{
  min-width:0;
}

@media(min-width:1101px){
  .v8-hero-grid{align-items:start}
  .v8-hero-copy{padding-top:clamp(44px,4.4vw,76px)}
}

.v76-showcase{
  --v76-row-height:clamp(205px,15.5vw,235px);
  position:relative;
  width:min(100%,760px);
  max-width:100%;
  min-width:0;
  margin-inline:auto;
  perspective:none;
}

.v76-frame{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(166,114,255,.22);
  border-radius:34px;
  background:
    radial-gradient(circle at 14% 8%,rgba(131,69,255,.30),transparent 36%),
    radial-gradient(circle at 88% 92%,rgba(255,112,36,.18),transparent 35%),
    linear-gradient(148deg,#1a1422 0%,#100d16 52%,#17111f 100%);
  background-size:145% 145%,150% 150%,175% 175%;
  background-position:0% 0%,100% 100%,50% 50%;
  animation:v76-frame-gradient 14s ease-in-out infinite alternate;
  box-shadow:
    0 34px 78px rgba(15,8,24,.32),
    inset 0 1px 0 rgba(255,255,255,.08);
  transform:none;
  transform-style:flat;
  isolation:isolate;
}

.v76-frame::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(10,8,14,.44) 0%,
    transparent 3.25%,
    transparent 96.75%,
    rgba(10,8,14,.44) 100%
  );
}

.v76-frame::after{
  content:"";
  position:absolute;
  inset:1px;
  z-index:5;
  border-radius:33px;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
}

.v76-ambient{
  position:absolute;
  width:280px;
  height:280px;
  border-radius:50%;
  pointer-events:none;
  filter:blur(64px);
  opacity:.3;
}

.v76-ambient-one{top:-155px;left:-95px;background:#7d45ff}
.v76-ambient-two{right:-110px;bottom:-165px;background:#ff721f}

.v76-live-line{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 5px 12px;
  color:#6f6677;
  font:800 clamp(10px,.78vw,12px)/1.35 Montserrat,sans-serif;
  letter-spacing:.1em;
}

.v76-live-dot{
  position:relative;
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-radius:50%;
  background:#a45cff;
  box-shadow:0 0 0 0 rgba(164,92,255,.62);
  animation:v76-live-pulse 1.7s ease-out infinite;
}

@keyframes v76-live-pulse{
  0%{box-shadow:0 0 0 0 rgba(164,92,255,.62);opacity:1}
  72%{box-shadow:0 0 0 9px rgba(164,92,255,0);opacity:.9}
  100%{box-shadow:0 0 0 0 rgba(164,92,255,0);opacity:1}
}

@keyframes v76-frame-gradient{
  0%{
    background-position:0% 0%,100% 100%,38% 45%;
  }
  50%{
    background-position:18% 10%,82% 90%,56% 52%;
  }
  100%{
    background-position:32% 18%,68% 82%,66% 58%;
  }
}

.v76-viewport{
  position:relative;
  z-index:2;
  overflow:hidden;
  direction:ltr;
  padding:6px 0 8px;
  transform-origin:50% 0%;
  transform:scale(1.012);
}

.v76-row{
  position:relative;
  overflow:hidden;
  direction:ltr;
  padding:4px 0;
}

.v76-row:first-child{
  --v76-card-height:calc(var(--v76-row-height) * 1.39);
  padding-top:4px;
  margin-bottom:0;
}

.v76-row:first-child .v76-card{
  transform-origin:50% 0%;
}

.v76-row:nth-child(2){
  --v76-card-height:calc(var(--v76-row-height) * .675);
  transform:translateY(0);
}

.v76-row + .v76-row{
  margin-top:0;
}

.v76-track{
  display:flex;
  direction:ltr;
  align-items:center;
  gap:14px;
  width:max-content;
  padding-inline:20px;
  will-change:transform;
  transform:translate3d(0,0,0);
}

.v76-track.is-running{
  animation:v76-marquee var(--v76-duration,150s) linear infinite;
}

.v76-track-reverse.is-running{
  animation-direction:reverse;
}

@keyframes v76-marquee{
  to{transform:translate3d(var(--v76-distance,-7000px),0,0)}
}

.v76-card{
  --v76-px:0deg;
  --v76-py:0deg;
  position:relative;
  flex:0 0 auto;
  width:auto;
  height:var(--v76-card-height,var(--v76-row-height));
  aspect-ratio:var(--v76-ratio,.8);
  margin-block:4px;
  border-radius:19px;
  outline:none;
  transform:translateY(var(--v76-lift,0)) rotate(var(--v76-twist,0deg));
  transform-style:flat;
  transition:transform .38s cubic-bezier(.2,.82,.2,1),box-shadow .38s ease;
  box-shadow:0 16px 34px rgba(0,0,0,.46),0 3px 10px rgba(0,0,0,.38);
}

.v76-card-shell{
  position:absolute;
  inset:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:inherit;
  background:#121117;
  transform:none;
  backface-visibility:visible;
}

.v76-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:none!important;
  transform:none!important;
  image-rendering:auto;
  backface-visibility:visible;
  opacity:0;
  transition:opacity .72s cubic-bezier(.2,.72,.22,1);
  transition-delay:var(--v76-reveal-delay,0ms);
  will-change:opacity;
  user-select:none;
  -webkit-user-drag:none;
}

.v76-card.v76-image-ready img{
  opacity:1;
}

.v76-card:not(.v76-image-ready) .v76-card-shell{
  background:
    linear-gradient(110deg,rgba(255,255,255,.025) 18%,rgba(255,255,255,.075) 32%,rgba(255,255,255,.025) 46%) #121117;
  background-size:220% 100%;
  animation:v76-card-loading 1.8s ease-in-out infinite;
}

.v76-card.v76-image-ready .v76-card-shell,
.v76-card.v76-image-error .v76-card-shell{
  animation:none;
  background:#121117;
}

@keyframes v76-card-loading{
  0%{background-position:110% 0}
  100%{background-position:-110% 0}
}

.v76-card-glass{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(125deg,rgba(255,255,255,.1),transparent 23%,transparent 76%,rgba(255,255,255,.035));
  opacity:.48;
  transition:opacity .28s ease;
}

.v76-card:hover,
.v76-card:focus-visible{
  z-index:8;
  transform:translateY(-7px) rotate(0deg);
  box-shadow:0 30px 58px rgba(0,0,0,.62),0 0 0 2px rgba(146,78,245,.32);
}

.v76-card:hover .v76-card-glass,
.v76-card:focus-visible .v76-card-glass{opacity:.1}

html[dir="rtl"] .v76-live-line,
html[lang="ar"] .v76-live-line{
  direction:rtl;
  font-family:Cairo,sans-serif;
  letter-spacing:0;
}

@media(max-width:1100px){
  .v76-showcase{width:min(100%,760px)}
}

@media(max-width:780px){
  .v8-hero{padding-top:20px!important}
  .v76-showcase{
    --v76-row-height:clamp(225px,68vw,285px);
    width:calc(100vw - 26px);
  }
  .v76-frame{border-radius:27px;transform:none}
  .v76-frame::after{border-radius:26px}
  .v76-frame::before{background:linear-gradient(90deg,rgba(10,8,14,.4) 0%,transparent 2.5%,transparent 97.5%,rgba(10,8,14,.4) 100%)}
  .v76-live-line{
    gap:8px;
    padding:0 4px 10px;
    font-size:10px;
    letter-spacing:.065em;
  }
  .v76-live-dot{width:7px;height:7px}
  .v76-viewport{padding:5px 0 7px;transform:scale(1.01)}
  .v76-row{padding:4px 0}
  .v76-row:first-child{padding-top:4px;margin-bottom:0}
  .v76-row:nth-child(2){transform:translateY(0)}
  .v76-row + .v76-row{margin-top:0}
  .v76-track{gap:14px;padding-inline:14px}
  .v76-card{border-radius:16px;margin-block:3px}
}

@media(max-width:420px){
  .v76-showcase{width:calc(100vw - 18px)}
}

@media(prefers-reduced-motion:reduce){
  .v76-track.is-running,.v76-live-dot{animation-play-state:paused}
  .v76-frame{animation:none}
  .v76-card{transition:none}
}

/* V80: progressive gallery paint. Cards reveal individually as their full-quality files decode. */
.v76-showcase .v76-viewport{
  opacity:1;
  transform:translate3d(0,0,0);
}
@media(prefers-reduced-motion:reduce){
  .v76-card img{transition:none}
  .v76-card:not(.v76-image-ready) .v76-card-shell{animation:none}
}


/* V82 — desktop-only carousel geometry:
   keep equal small gaps, preserve subtle rotations, prevent rotated cards from colliding. */
@media(min-width:781px){
  .v76-row{
    overflow:hidden;
    padding:6px 0;
  }

  .v76-row:first-child{
    --v76-card-height:calc(var(--v76-row-height) * 1.44);
    padding-top:6px;
    padding-bottom:7px;
    margin-bottom:0;
  }

  .v76-row:nth-child(2){
    --v76-card-height:calc(var(--v76-row-height) * .64);
    padding-top:7px;
    padding-bottom:6px;
    transform:none;
  }

  .v76-row + .v76-row{
    margin-top:0;
  }

  .v76-track{
    gap:1px;
    align-items:center;
  }

  .v76-card{
    z-index:1;
    margin:0 3px;
    transform:none;
    box-shadow:none;
    overflow:visible;
    transition:transform .34s cubic-bezier(.2,.82,.2,1);
  }

  .v76-row:nth-child(2) .v76-card{
    margin-inline:1px;
  }

  .v76-card-shell{
    inset:6px;
    transform:rotate(var(--v76-twist,0deg));
    transform-origin:50% 50%;
    filter:none!important;
    backdrop-filter:none!important;
    transition:transform .34s cubic-bezier(.2,.82,.2,1),box-shadow .34s ease;
    box-shadow:0 16px 34px rgba(0,0,0,.46),0 3px 10px rgba(0,0,0,.38);
  }

  .v76-row:nth-child(2) .v76-card-shell{
    inset:3px;
  }

  .v76-card img,
  .v76-card:hover img,
  .v76-card:focus-visible img{
    filter:none!important;
    backdrop-filter:none!important;
    transform:none!important;
  }

  .v76-card:hover,
  .v76-card:focus-visible{
    z-index:2;
    transform:translateY(-5px);
    box-shadow:none;
  }

  .v76-card:hover .v76-card-shell,
  .v76-card:focus-visible .v76-card-shell{
    transform:rotate(0deg);
    filter:none!important;
    backdrop-filter:none!important;
    box-shadow:0 25px 48px rgba(0,0,0,.55),0 0 0 2px rgba(146,78,245,.27);
  }

  .v76-card:hover .v76-card-glass,
  .v76-card:focus-visible .v76-card-glass{
    opacity:0;
  }
}
