/* Rental Worlds: only the existing four Framer Hero decoration slots. */
/* Keep the Hero title uppercase before and after Framer hydration. */
.framer-PEoLC .framer-35w2rx .framer-1kf4hfz h1,
.framer-PEoLC .framer-35w2rx .framer-1kf4hfz h1 .framer-text {
  text-transform: uppercase !important;
}
.framer-PEoLC .framer-35w2rx > :is(.framer-15qt5om, .framer-1pik3hq, .framer-lmy3w1, .framer-t8khhg) {
  width: 180px;
  overflow: visible;
}
.framer-PEoLC .framer-35w2rx > .framer-15qt5om {
  left: 40px; top: 30px;
  --ripo-world: url("hero-world-adventure.webp"); --ripo-cycle: 6.4s; --ripo-phase: -1.2s; --ripo-counterturn: 17.48deg;
}
.framer-PEoLC .framer-35w2rx > .framer-lmy3w1 {
  right: 40px; top: 30px;
  --ripo-world: url("hero-world-creator.webp"); --ripo-cycle: 6.8s; --ripo-phase: -2.8s; --ripo-counterturn: -16.24deg;
}
.framer-PEoLC .framer-35w2rx > .framer-1pik3hq {
  left: 90px; top: 235px;
  --ripo-world: url("hero-world-lifestyle.webp"); --ripo-cycle: 7.2s; --ripo-phase: -4.3s; --ripo-counterturn: 21.79deg;
}
.framer-PEoLC .framer-35w2rx > .framer-t8khhg {
  right: 90px; top: 235px;
  --ripo-world: url("hero-world-mobility.webp"); --ripo-cycle: 7.8s; --ripo-phase: -5.6s; --ripo-counterturn: -24.01deg;
}
.framer-35w2rx > :is(.framer-15qt5om, .framer-1pik3hq, .framer-lmy3w1, .framer-t8khhg) > [data-framer-background-image-wrapper] {
  background: var(--ripo-world) center / contain no-repeat;
  rotate: var(--ripo-counterturn);
  animation: ripo-world-float var(--ripo-cycle) ease-in-out var(--ripo-phase) infinite;
  filter: drop-shadow(0 8px 15px rgb(126 115 227 / 10%));
  transition: scale 400ms ease, filter 400ms ease;
}
.framer-35w2rx > :is(.framer-15qt5om, .framer-1pik3hq, .framer-lmy3w1, .framer-t8khhg) img { opacity: 0 !important; }
.framer-PEoLC .framer-35w2rx::before {
  content: "";
  position: absolute;
  inset: 0 -16px auto;
  height: 410px;
  background: url("ripo-hero-orbit-01.svg") center / 100% 100% no-repeat;
  pointer-events: none;
}
@keyframes ripo-world-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}
@media (hover: hover) and (pointer: fine) {
  .framer-35w2rx > :is(.framer-15qt5om, .framer-1pik3hq, .framer-lmy3w1, .framer-t8khhg):hover > [data-framer-background-image-wrapper] {
    scale: 1.04;
    filter: drop-shadow(0 9px 20px rgb(147 111 222 / 22%));
  }
}
@media (max-width: 1439.98px) and (min-width: 1200px) {
  .framer-PEoLC .framer-35w2rx > :is(.framer-15qt5om, .framer-1pik3hq, .framer-lmy3w1, .framer-t8khhg) { width: 154px; }
  .framer-PEoLC .framer-35w2rx > .framer-15qt5om { left: 20px; }
  .framer-PEoLC .framer-35w2rx > .framer-lmy3w1 { right: 20px; }
  .framer-PEoLC .framer-35w2rx > .framer-1pik3hq { left: 35px; top: 250px; }
  .framer-PEoLC .framer-35w2rx > .framer-t8khhg { right: 35px; top: 250px; }
}
@media (max-width: 1199.98px) and (min-width: 810px) {
  .framer-PEoLC .framer-35w2rx > :is(.framer-15qt5om, .framer-1pik3hq, .framer-lmy3w1, .framer-t8khhg) { width: 110px; }
  .framer-PEoLC .framer-35w2rx > .framer-15qt5om { left: 5px; top: 0; }
  .framer-PEoLC .framer-35w2rx > .framer-lmy3w1 { right: 5px; top: 0; }
  .framer-PEoLC .framer-35w2rx > .framer-1pik3hq { left: 18px; top: 185px; }
  .framer-PEoLC .framer-35w2rx > .framer-t8khhg { right: 18px; top: 185px; }
  .framer-PEoLC .framer-35w2rx::before { height: 350px; }
}
@media (max-width: 809.98px) {
  .framer-PEoLC .framer-35w2rx > :is(.framer-15qt5om, .framer-1pik3hq, .framer-lmy3w1, .framer-t8khhg) { width: 50px; }
  .framer-PEoLC .framer-35w2rx > .framer-15qt5om { left: 0; top: 0; }
  .framer-PEoLC .framer-35w2rx > .framer-lmy3w1 { right: 0; top: 0; }
  .framer-PEoLC .framer-35w2rx > .framer-1pik3hq { left: 0; top: 295px; }
  .framer-PEoLC .framer-35w2rx > .framer-t8khhg { right: 0; top: 295px; }
  .framer-PEoLC .framer-35w2rx::before { inset-inline: 0; height: 330px; opacity: .5; }
}
@media (max-width: 360px) {
  .framer-PEoLC .framer-35w2rx > :is(.framer-15qt5om, .framer-lmy3w1) { width: 40px; }
  .framer-PEoLC .framer-35w2rx > :is(.framer-1pik3hq, .framer-t8khhg) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .framer-35w2rx > :is(.framer-15qt5om, .framer-1pik3hq, .framer-lmy3w1, .framer-t8khhg) > [data-framer-background-image-wrapper] {
    animation: none; transition: none; scale: 1 !important;
  }
}

/* Rental Worlds 02: dedicated in-flow composition; desktop rules stay intact. */
@media (max-width: 1199.98px) {
  .framer-PEoLC .framer-35w2rx {
    --world-size: clamp(78px, 23vw, 105px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: var(--world-size) auto var(--world-size);
    align-items: center;
    justify-items: center;
    gap: 24px 16px;
    padding: 22px max(16px, env(safe-area-inset-left)) 24px;
    box-sizing: border-box;
  }
  .framer-PEoLC .framer-35w2rx > :is(.framer-15qt5om, .framer-1pik3hq, .framer-lmy3w1, .framer-t8khhg) {
    display: block;
    position: relative;
    inset: auto;
    width: var(--world-size);
    height: var(--world-size);
    min-width: 0;
  }
  .framer-PEoLC .framer-35w2rx > .framer-15qt5om { grid-area: 1 / 1; }
  .framer-PEoLC .framer-35w2rx > .framer-lmy3w1 { grid-area: 1 / 2; }
  .framer-PEoLC .framer-35w2rx > .framer-1pik3hq { grid-area: 3 / 1; }
  .framer-PEoLC .framer-35w2rx > .framer-t8khhg { grid-area: 3 / 2; }
  .framer-PEoLC .framer-35w2rx > .framer-r8oej5 {
    grid-area: 2 / 1 / 3 / 3;
    width: 100%;
    min-width: 0;
    max-width: 650px;
    gap: 24px;
  }
  .framer-PEoLC .framer-35w2rx .framer-1kf4hfz,
  .framer-PEoLC .framer-35w2rx .framer-1yi6ork { width: 100%; min-width: 0; }
  .framer-PEoLC .framer-35w2rx h1 {
    font-size: clamp(28px, 7.8vw, 46px);
    line-height: 1.18;
  }
  /* Keep the complete orbit behind the in-flow responsive composition. */
  .framer-PEoLC .framer-35w2rx::before {
    display: block;
    inset: 8px -12px;
    height: auto;
    opacity: .85;
  }
}
@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-PEoLC .framer-35w2rx {
    --world-size: clamp(110px, 12vw, 145px);
    gap: 20px 24px;
    padding-block: 20px;
  }
  .framer-PEoLC .framer-35w2rx::before {
    display: block;
    inset: 8px -12px;
    height: auto;
    opacity: 1;
  }
}
@media (max-width: 374.98px) {
  .framer-PEoLC .framer-35w2rx { --world-size: clamp(64px, 22vw, 82px); gap: 22px 12px; }
  .framer-PEoLC .framer-35w2rx .framer-x731ft { max-width: 100%; }
}
