/* REM Impact Hero v2.0.0 — scoped interaction/effect layer only. */
.remi-hero{
  --remi-x:0;
  --remi-y:0;
  --remi-px:72%;
  --remi-py:35%;
  isolation:isolate;
}
.remi-hero .remi-ambient{
  background:
    radial-gradient(circle at var(--remi-px) var(--remi-py), rgba(91,197,190,.18), transparent 22%),
    radial-gradient(circle at 88% 10%, rgba(91,197,190,.10), transparent 30%),
    linear-gradient(115deg,#07090a 0%,#090d0e 52%,#0d1616 100%);
  transition:background-position .12s linear;
}
.remi-hero .remi-grid{
  background-image:
    linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);
  background-size:8vw 8vw;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.8) 42%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.8) 42%,#000 100%);
  opacity:.65;
  pointer-events:none;
}
.remi-hero .remi-orbit{
  transform:perspective(1200px) rotateX(calc(var(--remi-y) * -2deg)) rotateY(calc(var(--remi-x) * 3deg));
  transform-style:preserve-3d;
  transition:transform .16s ease-out;
  will-change:transform;
}
.remi-hero .remi-card-motion{
  height:100%;
  transition:transform .18s ease-out, box-shadow .45s ease;
  will-change:transform;
}
.remi-hero .remi-card-main .remi-card-motion{
  transform:translate3d(calc(var(--remi-x) * 10px),calc(var(--remi-y) * 8px),45px);
}
.remi-hero .remi-card-a .remi-card-motion{
  transform:translate3d(calc(var(--remi-x) * -16px),calc(var(--remi-y) * -12px),85px) rotate(-2.5deg);
}
.remi-hero .remi-card-b .remi-card-motion{
  transform:translate3d(calc(var(--remi-x) * -20px),calc(var(--remi-y) * 14px),115px) rotate(2.2deg);
}
.remi-hero .remi-project-card{
  box-shadow:0 30px 80px rgba(0,0,0,.38);
  transition:box-shadow .45s ease,border-color .45s ease;
}
.remi-hero .remi-project-card:hover{
  border-color:rgba(145,217,212,.62);
  box-shadow:0 38px 100px rgba(0,0,0,.5),0 0 0 1px rgba(91,197,190,.08);
}
.remi-hero .remi-card-image,
.remi-hero .remi-card-image .elementor-widget-container{
  width:100%;height:100%;
}
.remi-hero .remi-card-image img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .45s ease;
}
.remi-hero .remi-project-card:hover .remi-card-image img{
  transform:scale(1.035);
  filter:saturate(1.06) contrast(1.02);
}
.remi-hero .remi-frame{
  pointer-events:none;
}
.remi-hero .remi-chip{
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.remi-hero .remi-primary-cta a,
.remi-hero .remi-secondary-cta a{
  transition:transform .28s ease,background-color .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.remi-hero .remi-primary-cta a:hover,
.remi-hero .remi-secondary-cta a:hover{
  transform:translateY(-3px);
}
.remi-hero .remi-primary-cta a:hover{
  box-shadow:0 14px 36px rgba(91,197,190,.18);
}
.remi-hero .remi-micro-line{
  overflow:hidden;
}
.remi-hero .remi-micro-line:after{
  content:'';
  display:block;
  width:42px;
  height:1px;
  margin-top:12px;
  background:#5bc5be;
  transform:translateX(-52px);
  animation:remi-line 2.8s ease-in-out infinite;
}
@keyframes remi-line{
  0%,15%{transform:translateX(-52px);opacity:0}
  35%,65%{transform:translateX(0);opacity:1}
  85%,100%{transform:translateX(52px);opacity:0}
}
@media(max-width:1024px){
  .remi-hero .remi-orbit{transform:none}
  .remi-hero .remi-card-main .remi-card-motion,
  .remi-hero .remi-card-a .remi-card-motion,
  .remi-hero .remi-card-b .remi-card-motion{transform:none}
}
@media(max-width:767px){
  .remi-hero .remi-grid{background-size:18vw 18vw;opacity:.38}
}
@media(prefers-reduced-motion:reduce){
  .remi-hero .remi-orbit,
  .remi-hero .remi-card-motion,
  .remi-hero .remi-card-image img,
  .remi-hero .remi-primary-cta a,
  .remi-hero .remi-secondary-cta a{transition:none;transform:none}
  .remi-hero .remi-micro-line:after{animation:none;transform:none}
}
