.elementor-2594 .elementor-element.elementor-element-6e181cb{--display:flex;--position:fixed;top:0px;--z-index:9999;}body:not(.rtl) .elementor-2594 .elementor-element.elementor-element-6e181cb{left:0px;}body.rtl .elementor-2594 .elementor-element.elementor-element-6e181cb{right:0px;}.elementor-2594 .elementor-element.elementor-element-2ae6f04{--display:flex;--min-height:937px;border-style:none;--border-style:none;--margin-top:80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2594 .elementor-element.elementor-element-2ae6f04.e-con{--e-con-transform-translateX:0px;--e-con-transform-translateY:5px;}.elementor-2594 .elementor-element.elementor-element-2ae6f04 > .elementor-shape-top .elementor-shape-fill, .elementor-2594 .elementor-element.elementor-element-2ae6f04 > .e-con-inner > .elementor-shape-top .elementor-shape-fill{fill:var( --e-global-color-secondary );}.elementor-2594 .elementor-element.elementor-element-2ae6f04 > .elementor-shape-top svg, .elementor-2594 .elementor-element.elementor-element-2ae6f04 > .e-con-inner > .elementor-shape-top svg{height:114px;}.elementor-2594 .elementor-element.elementor-element-d28a72c{--display:flex;--position:fixed;--min-height:1440px;--margin-top:0px;--margin-bottom:110px;--margin-left:0px;--margin-right:0px;--padding-top:110px;--padding-bottom:110px;--padding-left:10px;--padding-right:10px;top:0px;}body:not(.rtl) .elementor-2594 .elementor-element.elementor-element-d28a72c{left:0px;}body.rtl .elementor-2594 .elementor-element.elementor-element-d28a72c{right:0px;}.elementor-2594 .elementor-element.elementor-element-1f897d4 > .elementor-widget-container{--e-transform-translateY:-65px;--e-transform-scale:0.8;margin:-54px 0px 0px 0px;}.elementor-2594 .elementor-element.elementor-element-1f897d4 .section-title{text-align:center;}.elementor-2594 .elementor-element.elementor-element-1f897d4 .section-title span{background-color:var( --e-global-color-accent );}.elementor-2594 .elementor-element.elementor-element-1f897d4 .section-title h2{color:#FFFFFF;}.elementor-2594 .elementor-element.elementor-element-1f897d4 .section-title h2 span{color:var( --e-global-color-accent );}.elementor-2594 .elementor-element.elementor-element-01774ee{--display:flex;--position:fixed;top:108px;}.elementor-2594 .elementor-element.elementor-element-01774ee.e-con{--e-con-transform-translateY:24px;}body:not(.rtl) .elementor-2594 .elementor-element.elementor-element-01774ee{left:0px;}body.rtl .elementor-2594 .elementor-element.elementor-element-01774ee{right:0px;}.elementor-2594 .elementor-element.elementor-element-54eeb3f{--display:grid;--min-height:0px;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-2594 .elementor-element.elementor-element-32806bb img{max-width:100%;height:390px;filter:brightness( 100% ) contrast( 100% ) saturate( 118% ) blur( 0px ) hue-rotate( 0deg );transition-duration:0.5s;}.elementor-2594 .elementor-element.elementor-element-32806bb:hover img{opacity:0.5;filter:brightness( 100% ) contrast( 100% ) saturate( 123% ) blur( 0px ) hue-rotate( 0deg );}.elementor-2594 .elementor-element.elementor-element-58b7d96 img{height:390px;transition-duration:0.5s;}.elementor-2594 .elementor-element.elementor-element-58b7d96:hover img{opacity:0.5;filter:brightness( 100% ) contrast( 100% ) saturate( 120% ) blur( 0px ) hue-rotate( 0deg );}.elementor-2594 .elementor-element.elementor-element-a4bc28d img{max-width:100%;height:390px;opacity:1;transition-duration:0.5s;border-style:none;}.elementor-2594 .elementor-element.elementor-element-a4bc28d:hover img{opacity:0.5;filter:brightness( 100% ) contrast( 100% ) saturate( 119% ) blur( 0px ) hue-rotate( 0deg );}.elementor-2594 .elementor-element.elementor-element-a62cd9c img{height:390px;transition-duration:0.5s;}.elementor-2594 .elementor-element.elementor-element-a62cd9c:hover img{opacity:0.5;filter:brightness( 100% ) contrast( 100% ) saturate( 123% ) blur( 0px ) hue-rotate( 0deg );}.elementor-2594 .elementor-element.elementor-element-238f37c img{height:390px;transition-duration:0.5s;}.elementor-2594 .elementor-element.elementor-element-238f37c:hover img{opacity:0.5;filter:brightness( 100% ) contrast( 100% ) saturate( 123% ) blur( 0px ) hue-rotate( 0deg );}.elementor-2594 .elementor-element.elementor-element-5305bf4 img{height:390px;}.elementor-2594 .elementor-element.elementor-element-5305bf4:hover img{opacity:0.5;filter:brightness( 100% ) contrast( 100% ) saturate( 121% ) blur( 0px ) hue-rotate( 0deg );}.elementor-2594 .elementor-element.elementor-element-2ba633e{--display:flex;--min-height:247px;}html{height:100vh;margin:0;overflow:hidden;}body{height:100vh;overflow:auto;scroll-snap-type:y mandatory;scroll-padding:70px;}.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:start;scroll-snap-stop:normal;}@media(max-width:1024px){.elementor-2594 .elementor-element.elementor-element-54eeb3f{--grid-auto-flow:row;}.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:start;scroll-snap-stop:normal;}}@media(min-width:768px){.elementor-2594 .elementor-element.elementor-element-2ae6f04{--width:99%;}.elementor-2594 .elementor-element.elementor-element-d28a72c{--content-width:1395px;}.elementor-2594 .elementor-element.elementor-element-01774ee{--content-width:1300px;}}@media(max-width:767px){.elementor-2594 .elementor-element.elementor-element-2ae6f04{--min-height:2800px;}.elementor-2594 .elementor-element.elementor-element-1f897d4 > .elementor-widget-container{--e-transform-translateY:-49px;}.elementor-2594 .elementor-element.elementor-element-54eeb3f{--min-height:0px;--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2594 .elementor-element.elementor-element-32806bb img{object-fit:cover;}.elementor-2594 .elementor-element.elementor-element-58b7d96 img{object-fit:cover;}.elementor-2594 .elementor-element.elementor-element-a4bc28d img{object-fit:cover;}.elementor-2594 .elementor-element.elementor-element-a62cd9c img{object-fit:cover;}.elementor-2594 .elementor-element.elementor-element-238f37c img{object-fit:cover;}.elementor-2594 .elementor-element.elementor-element-5305bf4 img{object-fit:cover;}.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:start;scroll-snap-stop:normal;}}/* Start custom CSS for container, class: .elementor-element-6e181cb *//* This targets THIS container only */
.elementor-2594 .elementor-element.elementor-element-6e181cb{
  position: fixed;      /* pin the host to the viewport */
  top: 16px;
  right: 16px;
  left: auto;
  bottom: auto;
  z-index: 2147483647;  /* practically max; above themes/headers/popups */
  pointer-events: none; /* the host never blocks clicks on page content */
}

/* Re-enable clicks for the interactive children */
.elementor-2594 .elementor-element.elementor-element-6e181cb .gg-burger,
.elementor-2594 .elementor-element.elementor-element-6e181cb .gg-drawer,
.elementor-2594 .elementor-element.elementor-element-6e181cb .gg-overlay{
  pointer-events: auto;
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-32806bb *//* ===== CARD WRAPPER ===== */
.elementor-2594 .elementor-element.elementor-element-32806bb{
  position: relative;
  overflow: hidden;
  --cap-pad: clamp(90px, 24vw, 170px);
}

/* Image */
.elementor-2594 .elementor-element.elementor-element-32806bb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}

/* ===== GRADIENT ===== */
.elementor-2594 .elementor-element.elementor-element-32806bb::after{
  content: "";
  position: absolute;
  left: 0; right: 0;
  bottom: 0;
  height: var(--cap-pad);
  background: linear-gradient(to top, rgba(255,0,0,.85), rgba(255,0,0,0) 80%);
  transform: translateY(100%);     /* hidden by default */
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease;
  z-index: 1;
  pointer-events: none;
}

/* ===== TITLE ===== */
.elementor-2594 .elementor-element.elementor-element-32806bb::before{
  content: "Perrito";  /* set per card */
  position: absolute;
  left: 50%;
  bottom: calc(16px + 36px);
  transform: translate(-50%, 12px);
  color: #fff;
  font-weight: 700;
  font-size: clamp(18px, 4.5vw, 24px);
  line-height: 1.15;
  text-align: center;
  text-shadow: 0 0 20px rgba(255,0,0,.9);
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease, text-shadow .45s ease;
  z-index: 3;
  pointer-events: none;
}

/* Link stays normal; use its pseudos for other lines */
.elementor-2594 .elementor-element.elementor-element-32806bb a{ position: static; }

/* ===== SUBTITLE ===== */
.elementor-2594 .elementor-element.elementor-element-32806bb a::after{
  content: "CG Realistic Character"; /* set per card */
  position: absolute;
  left: 50%;
  bottom: calc(16px + 16px);
  transform: translate(-50%, 12px);
  color: #e2e2e2;
  font-size: clamp(12px, 3.5vw, 15px);
  line-height: 1.2;
  letter-spacing: .2px;
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease;
  z-index: 3;
  pointer-events: none;
}

/* ===== "SEE MORE" ===== */
.elementor-2594 .elementor-element.elementor-element-32806bb a::before{
  content: "See more ›";
  position: absolute;
  left: 50%;
  bottom: 8px;
  transform: translate(-50%, 12px);
  font-size: clamp(11px, 3.2vw, 14px);
  color: #ff3b3b;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease, color .2s ease;
  z-index: 3;
  pointer-events: none;
}

/* ===== HOVER EFFECTS — ONLY ON DEVICES THAT SUPPORT HOVER ===== */
@media (hover: hover) and (pointer: fine){
  .elementor-2594 .elementor-element.elementor-element-32806bb:hover img{ transform: scale(1.05); }
  .elementor-2594 .elementor-element.elementor-element-32806bb:hover::after{ transform: translateY(0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-32806bb:hover::before,
  .elementor-2594 .elementor-element.elementor-element-32806bb:hover a::after,
  .elementor-2594 .elementor-element.elementor-element-32806bb:hover a::before{ transform: translate(-50%, 0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-32806bb:hover::before{
    text-shadow:
      0 0 35px rgba(255,0,0,1),
      0 0 60px rgba(255,50,50,.7);
  }
  .elementor-2594 .elementor-element.elementor-element-32806bb a:hover::before{ color: #ff6b6b; }
}

/* ===== TOUCH INTERACTION — TAP/FOCUS TO REVEAL, THEN HIDE ===== */
@media (hover: none){
  /* reveal while pressing the card */
  .elementor-2594 .elementor-element.elementor-element-32806bb:active img{ transform: scale(1.05); }
  .elementor-2594 .elementor-element.elementor-element-32806bb:active::after{ transform: translateY(0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-32806bb:active::before,
  .elementor-2594 .elementor-element.elementor-element-32806bb:active a::after,
  .elementor-2594 .elementor-element.elementor-element-32806bb:active a::before{ transform: translate(-50%, 0); opacity: 1; }

  /* also reveal when the link receives focus (e.g., keyboard nav) */
  .elementor-2594 .elementor-element.elementor-element-32806bb:focus-within img{ transform: scale(1.05); }
  .elementor-2594 .elementor-element.elementor-element-32806bb:focus-within::after{ transform: translateY(0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-32806bb:focus-within::before,
  .elementor-2594 .elementor-element.elementor-element-32806bb:focus-within a::after,
  .elementor-2594 .elementor-element.elementor-element-32806bb:focus-within a::before{ transform: translate(-50%, 0); opacity: 1; }
}

/* ===== ANDROID SAFETY ===== */
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.elementor-2594 .elementor-element.elementor-element-32806bb *{ min-width: 0; }

/* OPTIONAL: if the thumbnail is a background, not <img> */
.elementor-2594 .elementor-element.elementor-element-32806bb .elementor-post__thumbnail__link{
  background-size: cover !important;
  background-position: center !important;
  /* aspect-ratio: 3 / 4; display: block; */
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-58b7d96 *//* ===== CARD WRAPPER ===== */
.elementor-2594 .elementor-element.elementor-element-58b7d96{
  position: relative;
  overflow: hidden;
  --cap-pad: clamp(90px, 24vw, 170px);
}

/* Image */
.elementor-2594 .elementor-element.elementor-element-58b7d96 img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}

/* ===== GRADIENT ===== */
.elementor-2594 .elementor-element.elementor-element-58b7d96::after{
  content: "";
  position: absolute;
  left: 0; right: 0;
  bottom: 0;
  height: var(--cap-pad);
  background: linear-gradient(to top, rgba(255,0,0,.85), rgba(255,0,0,0) 80%);
  transform: translateY(100%);     /* hidden by default */
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease;
  z-index: 1;
  pointer-events: none;
}

/* ===== TITLE ===== */
.elementor-2594 .elementor-element.elementor-element-58b7d96::before{
  content: "Unicycle Man";  /* set per card */
  position: absolute;
  left: 50%;
  bottom: calc(16px + 36px);
  transform: translate(-50%, 12px);
  color: #fff;
  font-weight: 700;
  font-size: clamp(18px, 4.5vw, 24px);
  line-height: 1.15;
  text-align: center;
  text-shadow: 0 0 20px rgba(255,0,0,.9);
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease, text-shadow .45s ease;
  z-index: 3;
  pointer-events: none;
}

/* Link stays normal; use its pseudos for other lines */
.elementor-2594 .elementor-element.elementor-element-58b7d96 a{ position: static; }

/* ===== SUBTITLE ===== */
.elementor-2594 .elementor-element.elementor-element-58b7d96 a::after{
  content: "Game_Ready_Character"; /* set per card */
  position: absolute;
  left: 50%;
  bottom: calc(16px + 16px);
  transform: translate(-50%, 12px);
  color: #e2e2e2;
  font-size: clamp(12px, 3.5vw, 15px);
  line-height: 1.2;
  letter-spacing: .2px;
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease;
  z-index: 3;
  pointer-events: none;
}

/* ===== "SEE MORE" ===== */
.elementor-2594 .elementor-element.elementor-element-58b7d96 a::before{
  content: "See more ›";
  position: absolute;
  left: 50%;
  bottom: 8px;
  transform: translate(-50%, 12px);
  font-size: clamp(11px, 3.2vw, 14px);
  color: #ff3b3b;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease, color .2s ease;
  z-index: 3;
  pointer-events: none;
}

/* ===== HOVER EFFECTS — ONLY ON DEVICES THAT SUPPORT HOVER ===== */
@media (hover: hover) and (pointer: fine){
  .elementor-2594 .elementor-element.elementor-element-58b7d96:hover img{ transform: scale(1.05); }
  .elementor-2594 .elementor-element.elementor-element-58b7d96:hover::after{ transform: translateY(0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-58b7d96:hover::before,
  .elementor-2594 .elementor-element.elementor-element-58b7d96:hover a::after,
  .elementor-2594 .elementor-element.elementor-element-58b7d96:hover a::before{ transform: translate(-50%, 0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-58b7d96:hover::before{
    text-shadow:
      0 0 35px rgba(255,0,0,1),
      0 0 60px rgba(255,50,50,.7);
  }
  .elementor-2594 .elementor-element.elementor-element-58b7d96 a:hover::before{ color: #ff6b6b; }
}

/* ===== TOUCH INTERACTION — TAP/FOCUS TO REVEAL, THEN HIDE ===== */
@media (hover: none){
  /* reveal while pressing the card */
  .elementor-2594 .elementor-element.elementor-element-58b7d96:active img{ transform: scale(1.05); }
  .elementor-2594 .elementor-element.elementor-element-58b7d96:active::after{ transform: translateY(0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-58b7d96:active::before,
  .elementor-2594 .elementor-element.elementor-element-58b7d96:active a::after,
  .elementor-2594 .elementor-element.elementor-element-58b7d96:active a::before{ transform: translate(-50%, 0); opacity: 1; }

  /* also reveal when the link receives focus (e.g., keyboard nav) */
  .elementor-2594 .elementor-element.elementor-element-58b7d96:focus-within img{ transform: scale(1.05); }
  .elementor-2594 .elementor-element.elementor-element-58b7d96:focus-within::after{ transform: translateY(0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-58b7d96:focus-within::before,
  .elementor-2594 .elementor-element.elementor-element-58b7d96:focus-within a::after,
  .elementor-2594 .elementor-element.elementor-element-58b7d96:focus-within a::before{ transform: translate(-50%, 0); opacity: 1; }
}

/* ===== ANDROID SAFETY ===== */
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.elementor-2594 .elementor-element.elementor-element-58b7d96 *{ min-width: 0; }

/* OPTIONAL: if the thumbnail is a background, not <img> */
.elementor-2594 .elementor-element.elementor-element-58b7d96 .elementor-post__thumbnail__link{
  background-size: cover !important;
  background-position: center !important;
  /* aspect-ratio: 3 / 4; display: block; */
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-a4bc28d *//* ===== CARD WRAPPER ===== */
.elementor-2594 .elementor-element.elementor-element-a4bc28d{
  position: relative;
  overflow: hidden;
  --cap-pad: clamp(90px, 24vw, 170px);
}

/* Image */
.elementor-2594 .elementor-element.elementor-element-a4bc28d img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}

/* ===== GRADIENT ===== */
.elementor-2594 .elementor-element.elementor-element-a4bc28d::after{
  content: "";
  position: absolute;
  left: 0; right: 0;
  bottom: 0;
  height: var(--cap-pad);
  background: linear-gradient(to top, rgba(255,0,0,.85), rgba(255,0,0,0) 80%);
  transform: translateY(100%);     /* hidden by default */
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease;
  z-index: 1;
  pointer-events: none;
}

/* ===== TITLE ===== */
.elementor-2594 .elementor-element.elementor-element-a4bc28d::before{
  content: "Exofactory";  /* set per card */
  position: absolute;
  left: 50%;
  bottom: calc(16px + 36px);
  transform: translate(-50%, 12px);
  color: #fff;
  font-weight: 700;
  font-size: clamp(18px, 4.5vw, 24px);
  line-height: 1.15;
  text-align: center;
  text-shadow: 0 0 20px rgba(255,0,0,.9);
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease, text-shadow .45s ease;
  z-index: 3;
  pointer-events: none;
}

/* Link stays normal; use its pseudos for other lines */
.elementor-2594 .elementor-element.elementor-element-a4bc28d a{ position: static; }

/* ===== SUBTITLE ===== */
.elementor-2594 .elementor-element.elementor-element-a4bc28d a::after{
  content: "Factory_Game"; /* set per card */
  position: absolute;
  left: 50%;
  bottom: calc(16px + 16px);
  transform: translate(-50%, 12px);
  color: #e2e2e2;
  font-size: clamp(12px, 3.5vw, 15px);
  line-height: 1.2;
  letter-spacing: .2px;
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease;
  z-index: 3;
  pointer-events: none;
}

/* ===== "SEE MORE" ===== */
.elementor-2594 .elementor-element.elementor-element-a4bc28d a::before{
  content: "See more ›";
  position: absolute;
  left: 50%;
  bottom: 8px;
  transform: translate(-50%, 12px);
  font-size: clamp(11px, 3.2vw, 14px);
  color: #ff3b3b;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease, color .2s ease;
  z-index: 3;
  pointer-events: none;
}

/* ===== HOVER EFFECTS — ONLY ON DEVICES THAT SUPPORT HOVER ===== */
@media (hover: hover) and (pointer: fine){
  .elementor-2594 .elementor-element.elementor-element-a4bc28d:hover img{ transform: scale(1.05); }
  .elementor-2594 .elementor-element.elementor-element-a4bc28d:hover::after{ transform: translateY(0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-a4bc28d:hover::before,
  .elementor-2594 .elementor-element.elementor-element-a4bc28d:hover a::after,
  .elementor-2594 .elementor-element.elementor-element-a4bc28d:hover a::before{ transform: translate(-50%, 0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-a4bc28d:hover::before{
    text-shadow:
      0 0 35px rgba(255,0,0,1),
      0 0 60px rgba(255,50,50,.7);
  }
  .elementor-2594 .elementor-element.elementor-element-a4bc28d a:hover::before{ color: #ff6b6b; }
}

/* ===== TOUCH INTERACTION — TAP/FOCUS TO REVEAL, THEN HIDE ===== */
@media (hover: none){
  /* reveal while pressing the card */
  .elementor-2594 .elementor-element.elementor-element-a4bc28d:active img{ transform: scale(1.05); }
  .elementor-2594 .elementor-element.elementor-element-a4bc28d:active::after{ transform: translateY(0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-a4bc28d:active::before,
  .elementor-2594 .elementor-element.elementor-element-a4bc28d:active a::after,
  .elementor-2594 .elementor-element.elementor-element-a4bc28d:active a::before{ transform: translate(-50%, 0); opacity: 1; }

  /* also reveal when the link receives focus (e.g., keyboard nav) */
  .elementor-2594 .elementor-element.elementor-element-a4bc28d:focus-within img{ transform: scale(1.05); }
  .elementor-2594 .elementor-element.elementor-element-a4bc28d:focus-within::after{ transform: translateY(0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-a4bc28d:focus-within::before,
  .elementor-2594 .elementor-element.elementor-element-a4bc28d:focus-within a::after,
  .elementor-2594 .elementor-element.elementor-element-a4bc28d:focus-within a::before{ transform: translate(-50%, 0); opacity: 1; }
}

/* ===== ANDROID SAFETY ===== */
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.elementor-2594 .elementor-element.elementor-element-a4bc28d *{ min-width: 0; }

/* OPTIONAL: if the thumbnail is a background, not <img> */
.elementor-2594 .elementor-element.elementor-element-a4bc28d .elementor-post__thumbnail__link{
  background-size: cover !important;
  background-position: center !important;
  /* aspect-ratio: 3 / 4; display: block; */
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-a62cd9c *//* ===== CARD WRAPPER ===== */
.elementor-2594 .elementor-element.elementor-element-a62cd9c{
  position: relative;
  overflow: hidden;
  --cap-pad: clamp(90px, 24vw, 170px);
}

/* Image */
.elementor-2594 .elementor-element.elementor-element-a62cd9c img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}

/* ===== GRADIENT ===== */
.elementor-2594 .elementor-element.elementor-element-a62cd9c::after{
  content: "";
  position: absolute;
  left: 0; right: 0;
  bottom: 0;
  height: var(--cap-pad);
  background: linear-gradient(to top, rgba(255,0,0,.85), rgba(255,0,0,0) 80%);
  transform: translateY(100%);     /* hidden by default */
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease;
  z-index: 1;
  pointer-events: none;
}

/* ===== TITLE ===== */
.elementor-2594 .elementor-element.elementor-element-a62cd9c::before{
  content: "Frog power";  /* set per card */
  position: absolute;
  left: 50%;
  bottom: calc(16px + 36px);
  transform: translate(-50%, 12px);
  color: #fff;
  font-weight: 700;
  font-size: clamp(18px, 4.5vw, 24px);
  line-height: 1.15;
  text-align: center;
  text-shadow: 0 0 20px rgba(255,0,0,.9);
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease, text-shadow .45s ease;
  z-index: 3;
  pointer-events: none;
}

/* Link stays normal; use its pseudos for other lines */
.elementor-2594 .elementor-element.elementor-element-a62cd9c a{ position: static; }

/* ===== SUBTITLE ===== */
.elementor-2594 .elementor-element.elementor-element-a62cd9c a::after{
  content: "Toon Shaded Character"; /* set per card */
  position: absolute;
  left: 50%;
  bottom: calc(16px + 16px);
  transform: translate(-50%, 12px);
  color: #e2e2e2;
  font-size: clamp(12px, 3.5vw, 15px);
  line-height: 1.2;
  letter-spacing: .2px;
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease;
  z-index: 3;
  pointer-events: none;
}

/* ===== "SEE MORE" ===== */
.elementor-2594 .elementor-element.elementor-element-a62cd9c a::before{
  content: "See more ›";
  position: absolute;
  left: 50%;
  bottom: 8px;
  transform: translate(-50%, 12px);
  font-size: clamp(11px, 3.2vw, 14px);
  color: #ff3b3b;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease, color .2s ease;
  z-index: 3;
  pointer-events: none;
}

/* ===== HOVER EFFECTS — ONLY ON DEVICES THAT SUPPORT HOVER ===== */
@media (hover: hover) and (pointer: fine){
  .elementor-2594 .elementor-element.elementor-element-a62cd9c:hover img{ transform: scale(1.05); }
  .elementor-2594 .elementor-element.elementor-element-a62cd9c:hover::after{ transform: translateY(0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-a62cd9c:hover::before,
  .elementor-2594 .elementor-element.elementor-element-a62cd9c:hover a::after,
  .elementor-2594 .elementor-element.elementor-element-a62cd9c:hover a::before{ transform: translate(-50%, 0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-a62cd9c:hover::before{
    text-shadow:
      0 0 35px rgba(255,0,0,1),
      0 0 60px rgba(255,50,50,.7);
  }
  .elementor-2594 .elementor-element.elementor-element-a62cd9c a:hover::before{ color: #ff6b6b; }
}

/* ===== TOUCH INTERACTION — TAP/FOCUS TO REVEAL, THEN HIDE ===== */
@media (hover: none){
  /* reveal while pressing the card */
  .elementor-2594 .elementor-element.elementor-element-a62cd9c:active img{ transform: scale(1.05); }
  .elementor-2594 .elementor-element.elementor-element-a62cd9c:active::after{ transform: translateY(0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-a62cd9c:active::before,
  .elementor-2594 .elementor-element.elementor-element-a62cd9c:active a::after,
  .elementor-2594 .elementor-element.elementor-element-a62cd9c:active a::before{ transform: translate(-50%, 0); opacity: 1; }

  /* also reveal when the link receives focus (e.g., keyboard nav) */
  .elementor-2594 .elementor-element.elementor-element-a62cd9c:focus-within img{ transform: scale(1.05); }
  .elementor-2594 .elementor-element.elementor-element-a62cd9c:focus-within::after{ transform: translateY(0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-a62cd9c:focus-within::before,
  .elementor-2594 .elementor-element.elementor-element-a62cd9c:focus-within a::after,
  .elementor-2594 .elementor-element.elementor-element-a62cd9c:focus-within a::before{ transform: translate(-50%, 0); opacity: 1; }
}

/* ===== ANDROID SAFETY ===== */
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.elementor-2594 .elementor-element.elementor-element-a62cd9c *{ min-width: 0; }

/* OPTIONAL: if the thumbnail is a background, not <img> */
.elementor-2594 .elementor-element.elementor-element-a62cd9c .elementor-post__thumbnail__link{
  background-size: cover !important;
  background-position: center !important;
  /* aspect-ratio: 3 / 4; display: block; */
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-238f37c *//* ===== CARD WRAPPER ===== */
.elementor-2594 .elementor-element.elementor-element-238f37c{
  position: relative;
  overflow: hidden;
  --cap-pad: clamp(90px, 24vw, 170px);
}

/* Image */
.elementor-2594 .elementor-element.elementor-element-238f37c img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}

/* ===== GRADIENT ===== */
.elementor-2594 .elementor-element.elementor-element-238f37c::after{
  content: "";
  position: absolute;
  left: 0; right: 0;
  bottom: 0;
  height: var(--cap-pad);
  background: linear-gradient(to top, rgba(255,0,0,.85), rgba(255,0,0,0) 80%);
  transform: translateY(100%);     /* hidden by default */
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease;
  z-index: 1;
  pointer-events: none;
}

/* ===== TITLE ===== */
.elementor-2594 .elementor-element.elementor-element-238f37c::before{
  content: "Horse Racing";  /* set per card */
  position: absolute;
  left: 50%;
  bottom: calc(16px + 36px);
  transform: translate(-50%, 12px);
  color: #fff;
  font-weight: 700;
  font-size: clamp(18px, 4.5vw, 24px);
  line-height: 1.15;
  text-align: center;
  text-shadow: 0 0 20px rgba(255,0,0,.9);
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease, text-shadow .45s ease;
  z-index: 3;
  pointer-events: none;
}

/* Link stays normal; use its pseudos for other lines */
.elementor-2594 .elementor-element.elementor-element-238f37c a{ position: static; }

/* ===== SUBTITLE ===== */
.elementor-2594 .elementor-element.elementor-element-238f37c a::after{
  content: "Mobile RPG"; /* set per card */
  position: absolute;
  left: 50%;
  bottom: calc(16px + 16px);
  transform: translate(-50%, 12px);
  color: #e2e2e2;
  font-size: clamp(12px, 3.5vw, 15px);
  line-height: 1.2;
  letter-spacing: .2px;
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease;
  z-index: 3;
  pointer-events: none;
}

/* ===== "SEE MORE" ===== */
.elementor-2594 .elementor-element.elementor-element-238f37c a::before{
  content: "See more ›";
  position: absolute;
  left: 50%;
  bottom: 8px;
  transform: translate(-50%, 12px);
  font-size: clamp(11px, 3.2vw, 14px);
  color: #ff3b3b;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease, color .2s ease;
  z-index: 3;
  pointer-events: none;
}

/* ===== HOVER EFFECTS — ONLY ON DEVICES THAT SUPPORT HOVER ===== */
@media (hover: hover) and (pointer: fine){
  .elementor-2594 .elementor-element.elementor-element-238f37c:hover img{ transform: scale(1.05); }
  .elementor-2594 .elementor-element.elementor-element-238f37c:hover::after{ transform: translateY(0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-238f37c:hover::before,
  .elementor-2594 .elementor-element.elementor-element-238f37c:hover a::after,
  .elementor-2594 .elementor-element.elementor-element-238f37c:hover a::before{ transform: translate(-50%, 0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-238f37c:hover::before{
    text-shadow:
      0 0 35px rgba(255,0,0,1),
      0 0 60px rgba(255,50,50,.7);
  }
  .elementor-2594 .elementor-element.elementor-element-238f37c a:hover::before{ color: #ff6b6b; }
}

/* ===== TOUCH INTERACTION — TAP/FOCUS TO REVEAL, THEN HIDE ===== */
@media (hover: none){
  /* reveal while pressing the card */
  .elementor-2594 .elementor-element.elementor-element-238f37c:active img{ transform: scale(1.05); }
  .elementor-2594 .elementor-element.elementor-element-238f37c:active::after{ transform: translateY(0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-238f37c:active::before,
  .elementor-2594 .elementor-element.elementor-element-238f37c:active a::after,
  .elementor-2594 .elementor-element.elementor-element-238f37c:active a::before{ transform: translate(-50%, 0); opacity: 1; }

  /* also reveal when the link receives focus (e.g., keyboard nav) */
  .elementor-2594 .elementor-element.elementor-element-238f37c:focus-within img{ transform: scale(1.05); }
  .elementor-2594 .elementor-element.elementor-element-238f37c:focus-within::after{ transform: translateY(0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-238f37c:focus-within::before,
  .elementor-2594 .elementor-element.elementor-element-238f37c:focus-within a::after,
  .elementor-2594 .elementor-element.elementor-element-238f37c:focus-within a::before{ transform: translate(-50%, 0); opacity: 1; }
}

/* ===== ANDROID SAFETY ===== */
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.elementor-2594 .elementor-element.elementor-element-238f37c *{ min-width: 0; }

/* OPTIONAL: if the thumbnail is a background, not <img> */
.elementor-2594 .elementor-element.elementor-element-238f37c .elementor-post__thumbnail__link{
  background-size: cover !important;
  background-position: center !important;
  /* aspect-ratio: 3 / 4; display: block; */
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-5305bf4 *//* ===== CARD WRAPPER ===== */
.elementor-2594 .elementor-element.elementor-element-5305bf4{
  position: relative;
  overflow: hidden;

  /* Height of the caption zone drawn over the image */
  --cap-pad: clamp(90px, 24vw, 170px); /* adjust if your copy needs more room */
}

/* Image: keep a stable aspect ratio and prevent squish */
.elementor-2594 .elementor-element.elementor-element-5305bf4 img{
  width: 100%;
  height: 100%;
  object-fit: cover;       /* fills the box without distortion */
  display: block;
  transition: transform .5s ease;
}

/* ===== GRADIENT (over image, animated on hover) ===== */
.elementor-2594 .elementor-element.elementor-element-5305bf4::after{
  content: "";
  position: absolute;
  left: 0; right: 0;
  bottom: 0;
  height: var(--cap-pad);
  background: linear-gradient(to top, rgba(255,0,0,.85), rgba(255,0,0,0) 80%);
  transform: translateY(100%);     /* hidden initially */
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease;
  z-index: 1;                       /* under captions, over image */
  pointer-events: none;
}

/* ===== TITLE (on wrapper) ===== */
.elementor-2594 .elementor-element.elementor-element-5305bf4::before{
  content: "Unicycle_Man";           /* <-- set per card */
  position: absolute;
  left: 50%;
  bottom: calc(16px + 36px);       /* above subtitle + button */
  transform: translate(-50%, 12px);/* start a bit low; slide up */
  color: #fff;
  font-weight: 700;
  font-size: clamp(18px, 4.5vw, 24px);
  line-height: 1.15;
  text-align: center;
  text-shadow: 0 0 20px rgba(255,0,0,.9);
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease, text-shadow .45s ease;
  z-index: 3;
  pointer-events: none;
}

/* Link stays normal; use its pseudos for the other lines */
.elementor-2594 .elementor-element.elementor-element-5305bf4 a{ position: static; }

/* ===== SUBTITLE ===== */
.elementor-2594 .elementor-element.elementor-element-5305bf4 a::after{
  content: "Game Ready Character"; /* <-- set per card */
  position: absolute;
  left: 50%;
  bottom: calc(16px + 16px);
  transform: translate(-50%, 12px);
  color: #e2e2e2;
  font-size: clamp(12px, 3.5vw, 15px);
  line-height: 1.2;
  letter-spacing: .2px;
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease;
  z-index: 3;
  pointer-events: none;
}

/* ===== "SEE MORE" ===== */
.elementor-2594 .elementor-element.elementor-element-5305bf4 a::before{
  content: "See more ›";
  position: absolute;
  left: 50%;
  bottom: 8px;
  transform: translate(-50%, 12px);
  font-size: clamp(11px, 3.2vw, 14px);
  color: #ff3b3b;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease, color .2s ease;
  z-index: 3;
  pointer-events: none;
}

/* ===== HOVER / FOCUS REVEAL ===== */
.elementor-2594 .elementor-element.elementor-element-5305bf4:hover img{ transform: scale(1.05); }

.elementor-2594 .elementor-element.elementor-element-5305bf4:hover::after{
  transform: translateY(0);
  opacity: 1;
}

.elementor-2594 .elementor-element.elementor-element-5305bf4:hover::before,
.elementor-2594 .elementor-element.elementor-element-5305bf4:hover a::after,
.elementor-2594 .elementor-element.elementor-element-5305bf4:hover a::before{
  transform: translate(-50%, 0);
  opacity: 1;
}

.elementor-2594 .elementor-element.elementor-element-5305bf4:hover::before{
  text-shadow:
    0 0 35px rgba(255,0,0,1),
    0 0 60px rgba(255,50,50,.7);
}

.elementor-2594 .elementor-element.elementor-element-5305bf4 a:hover::before{ color: #ff6b6b; }

/* ===== ANDROID SAFETY ===== */
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.elementor-2594 .elementor-element.elementor-element-5305bf4 *{ min-width: 0; }

/* OPTIONAL: if the thumbnail is a background, not <img> */
.elementor-2594 .elementor-element.elementor-element-5305bf4 .elementor-post__thumbnail__link{
  background-size: cover !important;
  background-position: center !important;
  /* aspect-ratio: 3 / 4; display: block;  <-- uncomment if needed */
}

/* OPTIONAL: show captions by default on touch devices with no hover */
@media (hover: none){
  .elementor-2594 .elementor-element.elementor-element-5305bf4::after{ transform: translateY(0); opacity: 1; }
  .elementor-2594 .elementor-element.elementor-element-5305bf4::before,
  .elementor-2594 .elementor-element.elementor-element-5305bf4 a::after,
  .elementor-2594 .elementor-element.elementor-element-5305bf4 a::before{ transform: translate(-50%, 0); opacity: 1; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-54eeb3f *//* === GLOBAL: round all items in the grid, with transparent edges === */
.your-grid {
  --card-radius: 16px;                /* adjust to match your design */
}

/* The wrapper(s) that hold each image/card */
.your-grid .elementor-grid-item,
.your-grid .elementor-post,
.your-grid .elementor-gallery-item,
.your-grid .e-gallery-item,
.your-grid .elementor-image,
.your-grid .elementor-widget-image,
.your-grid .elementor-post__thumbnail,
.your-grid .elementor-post__thumbnail__link,
.your-grid figure,
.your-grid a {
  border-radius: var(--card-radius) !important;
  overflow: hidden !important;        /* clips content to rounded corners */
  background: transparent !important; /* no color fill = no dark silhouette */
}

/* Make the <img> follow the curve and fill the box */
.your-grid img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: inherit !important;  /* same curvature as wrapper */
  background: transparent !important; /* keeps PNGs transparent */
  transition: transform .25s ease;
}

/* Optional hover zoom */
.your-grid a:hover img { transform: scale(1.03); }

/* === Your existing Android-safe rules === */
@media (max-width: 480px){
  /* keep a stable aspect ratio for the media area */
  .your-grid .elementor-post__thumbnail,
  .your-grid .elementor-post__thumbnail img,
  .your-grid .elementor-image img {
    aspect-ratio: 3/4;                /* tweak ratio if needed */
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    border-radius: var(--card-radius);
    overflow: hidden;
    background: transparent !important;
  }

  /* if card uses bg image instead of <img> */
  .your-grid .elementor-post__thumbnail__link {
    background-size: cover !important;
    background-position: center !important;
    border-radius: var(--card-radius);
    overflow: hidden;
    background: transparent !important;
  }

  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

  .your-grid .elementor-post__title,
  .your-grid .elementor-post__excerpt,
  .your-grid .card-title,
  .your-grid .card-meta {
    line-height: 1.2;
    word-break: break-word;
  }

  .your-grid .elementor-post__text,
  .your-grid .card-content { 
    position: relative; 
    z-index: 2; 
  }

  .your-grid * { min-width: 0; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a4fc2ec *//* kill smooth anchor scrolling and snapping anywhere */
html, body { 
  scroll-behavior: auto !important;
  scroll-snap-type: none !important;
}

/* in case a plugin sets anchor offsets */
[id] { scroll-margin-top: 0 !important; }

/* prevent scroll-into-view caused by scroll anchoring quirks near footer */
footer, #colophon { overflow-anchor: none; }/* End custom CSS */
/* Start custom CSS *//* Mobile: no horizontal panning/scrolling */
@media (max-width: 767px){
  html, body {
    overflow-x: hidden !important;  /* kills horizontal scrollbars */
    width: 100%;                    /* avoid 100vw + scrollbar jiggle */
  }
  body {
    touch-action: pan-y;            /* allow only vertical touch scrolling */
    overscroll-behavior-x: none;    /* stop side pull/bounce */
  }
}/* End custom CSS */