/* MoxRex Dimensional Play: shared production language */
:is(.page-id-1959,.page-id-3037,.page-id-2711,.page-id-2803,.page-id-33,.blog) {
  --mx-bg:#08090b;
  --mx-surface:#101218;
  --mx-raised:#181b22;
  --mx-ink:#f5f3ee;
  --mx-muted:#b8bbc4;
  --mx-orange:#e08000;
  --mx-lit:#f5a12a;
  --mx-red:#a01030;
  background:var(--mx-bg);
  color:var(--mx-ink);
}

:is(.page-id-2708,.page-id-1959,.page-id-3037,.page-id-2711,.page-id-2803,.page-id-33,.blog) :is(h1,h2,h3,h4,h5) {
  letter-spacing:-.035em;
  text-wrap:balance;
}

:is(.page-id-2708,.page-id-1959,.page-id-3037,.page-id-2711,.page-id-2803,.page-id-33,.blog) .site-header {
  background:rgba(8,9,11,.82);
  border-bottom:1px solid rgba(245,243,238,.08);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

:is(.page-id-2708,.page-id-1959,.page-id-3037,.page-id-2711,.page-id-2803,.page-id-33,.blog) .elementor-button {
  min-height:52px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2);
  transition:transform .24s cubic-bezier(.16,1,.3,1),filter .24s ease;
}

:is(.page-id-2708,.page-id-1959,.page-id-3037,.page-id-2711,.page-id-2803,.page-id-33,.blog) .elementor-button:hover {
  transform:translateY(-3px);
  filter:brightness(1.08);
}

/* Cinematic inner-page heroes */
:is(.page-id-1959 .elementor-element-games-hero,
    .page-id-2711 .elementor-element-about-hero,
    .page-id-2803 .elementor-element-blog-hero,
    .page-id-33 .elementor-element-contact-hero,
    .page-id-3037 .elementor-element-apps-hero) {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:min(780px,calc(100svh - 84px));
  background:
    radial-gradient(circle at 78% 42%,rgba(224,128,0,.14),transparent 34%),
    linear-gradient(120deg,#08090b 0%,#08090b 48%,#101218 100%);
}

:is(.page-id-1959 .elementor-element-games-hero,
    .page-id-2711 .elementor-element-about-hero,
    .page-id-2803 .elementor-element-blog-hero,
    .page-id-33 .elementor-element-contact-hero,
    .page-id-3037 .elementor-element-apps-hero)::before {
  content:"";
  position:absolute;
  width:46vw;
  height:46vw;
  min-width:520px;
  min-height:520px;
  right:-14vw;
  top:-18vw;
  border:1px solid rgba(245,161,42,.26);
  border-radius:50%;
  box-shadow:0 0 0 70px rgba(224,128,0,.025),0 0 0 140px rgba(224,128,0,.018);
  pointer-events:none;
}

:is(.page-id-1959 .elementor-element-games-hero-copy,
    .page-id-2711 .elementor-element-about-hero-copy,
    .page-id-2803 .elementor-element-blog-hero-copy,
    .page-id-33 .elementor-element-contact-hero-copy,
    .page-id-3037 .elementor-element-apps-hero-copy) {
  position:relative;
  z-index:3;
}

:is(.page-id-1959 .elementor-element-games-h1,
    .page-id-2711 .elementor-element-about-h1,
    .page-id-2803 .elementor-element-blog-h1,
    .page-id-33 .elementor-element-contact-h1,
    .page-id-3037 .elementor-element-apps-h1) .elementor-heading-title {
  max-width:10ch;
}

:is(.page-id-1959 .elementor-element-games-hero-art,
    .page-id-2711 .elementor-element-about-hero-media,
    .page-id-2803 .elementor-element-blog-hero-media,
    .page-id-33 .elementor-element-contact-hero-media) {
  position:relative;
  z-index:2;
  perspective:1400px;
}

:is(.page-id-1959 .elementor-element-games-hero-image,
    .page-id-2711 .elementor-element-about-image,
    .page-id-2803 .elementor-element-blog-hero-image,
    .page-id-33 .elementor-element-contact-image) {
  transform:rotateY(-8deg) rotateX(2deg) rotateZ(1deg);
  filter:drop-shadow(-30px 38px 40px rgba(0,0,0,.55));
}

:is(.page-id-1959 .elementor-element-games-hero-image,
    .page-id-2711 .elementor-element-about-image,
    .page-id-2803 .elementor-element-blog-hero-image,
    .page-id-33 .elementor-element-contact-image) img {
  border-radius:18px;
  border:1px solid rgba(245,161,42,.18);
}

.page-id-33 .elementor-element-contact-image img {
  content:url("https://moxrex.com/wp-content/uploads/2026/07/moxrex-contact-3d-v1.jpg");
  aspect-ratio:4/5;
  object-fit:cover;
}

/* Games: six tilted physical artifacts, not flat cards */
.page-id-1959 .elementor-element-games-catalogue {
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#08090b,#101218 48%,#08090b);
}

.page-id-1959 .elementor-element-games-grid {
  display:flex!important;
  flex-flow:row wrap!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:42px 30px!important;
  perspective:1600px;
  transform-style:preserve-3d;
}

.page-id-1959 :is(.elementor-element-moneyjump,.elementor-element-goarrow,.elementor-element-pinball,.elementor-element-tictactoe,.elementor-element-sudoku,.elementor-element-bricks) {
  width:29%!important;
  flex:0 0 29%!important;
  max-width:360px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(245,243,238,.09);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(24,27,34,.96),rgba(13,15,19,.98));
  box-shadow:0 28px 54px rgba(0,0,0,.35);
  transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .3s ease;
}

.page-id-1959 .elementor-element-moneyjump {transform:translateY(38px) rotateY(12deg) rotateZ(-3deg)}
.page-id-1959 .elementor-element-goarrow {transform:translateZ(56px) rotateY(4deg) rotateZ(2deg)}
.page-id-1959 .elementor-element-pinball {transform:translateY(28px) rotateY(-10deg) rotateZ(-1deg)}
.page-id-1959 .elementor-element-tictactoe {transform:translateY(-18px) rotateY(10deg) rotateZ(2deg)}
.page-id-1959 .elementor-element-sudoku {transform:translateY(40px) translateZ(40px) rotateZ(-2deg)}
.page-id-1959 .elementor-element-bricks {transform:translateY(-8px) rotateY(-12deg) rotateZ(3deg)}

.page-id-1959 :is(.elementor-element-moneyjump,.elementor-element-goarrow,.elementor-element-pinball,.elementor-element-tictactoe,.elementor-element-sudoku,.elementor-element-bricks):hover {
  z-index:5;
  transform:translateY(-14px) translateZ(90px);
  border-color:rgba(245,161,42,.45);
}

.page-id-1959 :is(.elementor-element-moneyjump-image,.elementor-element-goarrow-image,.elementor-element-pinball-image,.elementor-element-tictactoe-image,.elementor-element-sudoku-image,.elementor-element-bricks-image) img {
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}

/* Apps: generated 3D utility sculpture */
.page-id-3037 .elementor-element-apps-hero-panel {
  position:relative;
  min-height:620px;
  overflow:hidden;
  border:1px solid rgba(245,161,42,.22);
  border-radius:22px;
  background:
    linear-gradient(0deg,rgba(8,9,11,.92) 0%,rgba(8,9,11,.12) 62%),
    url("https://moxrex.com/wp-content/uploads/2026/07/moxrex-apps-3d-v1.jpg") center 38% / cover no-repeat;
  box-shadow:-34px 42px 54px rgba(0,0,0,.42);
  transform:rotateY(-7deg) rotateZ(1.5deg);
}

.page-id-3037 .elementor-element-apps-hero-panel > * {
  position:relative;
  z-index:2;
}

.page-id-3037 .elementor-element-apps-principles {
  background:linear-gradient(180deg,#08090b,#101218);
}

.page-id-3037 :is(.elementor-element-principle-one,.elementor-element-principle-two) {
  position:relative;
  overflow:hidden;
  border-top:1px solid rgba(245,161,42,.45);
  background:linear-gradient(140deg,rgba(24,27,34,.9),rgba(16,18,24,.4));
  box-shadow:0 30px 50px rgba(0,0,0,.24);
}

.page-id-3037 .elementor-element-principle-one {transform:rotateZ(-1.2deg) translateY(12px)}
.page-id-3037 .elementor-element-principle-two {transform:rotateZ(1.2deg) translateY(-12px)}

/* About: editorial spatial layout */
.page-id-2711 .elementor-element-about-story {
  position:relative;
  background:
    linear-gradient(90deg,transparent 49.8%,rgba(245,161,42,.22) 50%,transparent 50.2%),
    #101218;
}

.page-id-2711 .elementor-element-cap-layout {
  perspective:1300px;
}

.page-id-2711 .elementor-element-cap-primary {
  transform:rotateY(4deg) translateZ(40px);
  background:linear-gradient(145deg,#a01030,#681022);
  box-shadow:28px 38px 60px rgba(0,0,0,.32);
}

.page-id-2711 :is(.elementor-element-cap-apps,.elementor-element-cap-release) {
  border:1px solid rgba(245,243,238,.09);
  background:#181b22;
}

.page-id-2711 .elementor-element-cap-apps {transform:rotateZ(1.2deg)}
.page-id-2711 .elementor-element-cap-release {transform:rotateZ(-1.2deg)}

/* Blog: image-led publishing surface */
.blog .blog__area {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 86% 6%,rgba(224,128,0,.12),transparent 24%),
    #08090b;
}

.blog .blog__inner-wrap::before {
  content:"Ideas behind the build.";
  display:block;
  max-width:1280px;
  margin:0 auto 64px;
  color:#f5f3ee;
  font:700 clamp(2.6rem,6vw,5.8rem)/.95 Montserrat,sans-serif;
  letter-spacing:-.055em;
  text-wrap:balance;
}

.blog .card-careers {
  perspective:1000px;
}

.blog .card-careers > div {
  height:100%;
  overflow:hidden;
  border:1px solid rgba(245,243,238,.08);
  border-radius:16px;
  background:linear-gradient(145deg,#181b22,#101218);
  box-shadow:0 26px 46px rgba(0,0,0,.25);
  transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .3s ease;
}

.blog .card-careers:nth-child(4n+1) > div {transform:rotateZ(-.65deg)}
.blog .card-careers:nth-child(4n+2) > div {transform:translateY(18px) rotateZ(.65deg)}
.blog .card-careers > div:hover {
  transform:translateY(-10px) translateZ(35px);
  border-color:rgba(245,161,42,.4);
}

.blog .card-careers .zoom-img img {
  aspect-ratio:16/10;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.16,1,.3,1);
}

.blog .card-careers:hover .zoom-img img {transform:scale(1.04)}
.blog .card-careers .card-content {padding:0 22px 24px}
.blog .sidebar {position:sticky;top:110px}

.page-id-2803 .elementor-element-blog-list {
  background:linear-gradient(180deg,#08090b,#101218);
}

.page-id-2803 .elementor-element-blog-posts img {
  border-radius:16px;
  filter:saturate(.88);
  transition:transform .55s cubic-bezier(.16,1,.3,1),filter .35s ease;
}

.page-id-2803 .elementor-element-blog-posts a:hover img {
  transform:scale(1.035);
  filter:saturate(1.08);
}

/* Contact: dimensional but calm around the form */
.page-id-33 .elementor-element-contact-form-section {
  background:
    radial-gradient(circle at 78% 38%,rgba(224,128,0,.09),transparent 32%),
    #101218;
}

.page-id-33 .elementor-element-contact-form-card {
  transform:rotateY(-3deg) translateZ(24px);
  border:1px solid rgba(245,161,42,.25);
  border-radius:20px;
  background:linear-gradient(145deg,#181b22,#101218);
  box-shadow:-24px 38px 60px rgba(0,0,0,.34);
}

.page-id-33 :is(input,textarea,select) {
  border:1px solid rgba(245,243,238,.14)!important;
  border-radius:10px!important;
  background:#0b0d11!important;
  color:#f5f3ee!important;
}

.page-id-33 :is(input,textarea,select):focus {
  border-color:#f5a12a!important;
  outline:2px solid rgba(245,161,42,.18)!important;
  outline-offset:2px;
}

/* Shared closing statements */
:is(.page-id-1959 .elementor-element-games-closing,
    .page-id-3037 .elementor-element-apps-catalogue,
    .page-id-2711 .elementor-element-about-end,
    .page-id-2803 .elementor-element-blog-end,
    .page-id-33 .elementor-element-contact-end) {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 86% 20%,rgba(160,16,48,.35),transparent 34%),
    linear-gradient(110deg,#e08000,#a01030);
}

@media (prefers-reduced-motion:no-preference) {
  :is(.page-id-1959,.page-id-3037,.page-id-2711,.page-id-2803,.page-id-33)
  :is(.elementor-element-games-hero-image,.elementor-element-about-image,.elementor-element-blog-hero-image,.elementor-element-contact-image) {
    animation:mx-inner-enter 1s cubic-bezier(.16,1,.3,1) both;
  }
}

@keyframes mx-inner-enter {
  from {opacity:0;transform:translate3d(70px,30px,-80px) rotateY(-18deg)}
}

@media (max-width:1024px) {
  .page-id-1959 :is(.elementor-element-moneyjump,.elementor-element-goarrow,.elementor-element-pinball,.elementor-element-tictactoe,.elementor-element-sudoku,.elementor-element-bricks) {
    width:43%!important;
    flex-basis:43%!important;
  }
}

@media (max-width:767px) {
  :is(.page-id-1959 .elementor-element-games-hero,
      .page-id-2711 .elementor-element-about-hero,
      .page-id-2803 .elementor-element-blog-hero,
      .page-id-33 .elementor-element-contact-hero,
      .page-id-3037 .elementor-element-apps-hero) {
    min-height:auto;
  }

  :is(.page-id-1959 .elementor-element-games-hero-image,
      .page-id-2711 .elementor-element-about-image,
      .page-id-2803 .elementor-element-blog-hero-image,
      .page-id-33 .elementor-element-contact-image,
      .page-id-3037 .elementor-element-apps-hero-panel) {
    transform:none;
  }

  .page-id-3037 .elementor-element-apps-hero-panel {min-height:470px}

  .page-id-1959 .elementor-element-games-grid {
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:18px 12px!important;
    perspective:none;
  }

  .page-id-1959 :is(.elementor-element-moneyjump,.elementor-element-goarrow,.elementor-element-pinball,.elementor-element-tictactoe,.elementor-element-sudoku,.elementor-element-bricks) {
    width:100%!important;
    max-width:none;
    transform:none;
  }

  .page-id-2711 .elementor-element-about-story {
    background:#101218;
  }

  .page-id-2711 .elementor-element-cap-primary,
  .page-id-33 .elementor-element-contact-form-card {
    transform:none;
  }
}

@media (prefers-reduced-motion:reduce) {
  :is(.page-id-1959,.page-id-3037,.page-id-2711,.page-id-2803,.page-id-33) *,
  :is(.page-id-1959,.page-id-3037,.page-id-2711,.page-id-2803,.page-id-33) *::before,
  :is(.page-id-1959,.page-id-3037,.page-id-2711,.page-id-2803,.page-id-33) *::after {
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
  }
}
