@font-face {
  font-family:Rajdhani;
  src:url('/assets/fonts/rajdhani-semibold-latin.ttf') format('truetype');
  font-style:normal;
  font-weight:600;
  font-display:swap;
}

:root {
  --navy:#07182f;
  --deep:#061226;
  --panel:#0b223e;
  --white:#f4f8ff;
  --muted:#b5c6da;
  --cyan:#74d8f3;
  --orange:#ff9b53;
  --yellow:#ffe02f;
  --line:#294660;
  --heading:Rajdhani,'Arial Narrow',sans-serif;
  --wrap:min(1160px,calc(100% - 96px));
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:96px;
}

body {
  margin:0;
  background:var(--navy);
  color:var(--white);
  font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

img {
  display:block;
  max-width:100%;
  height:auto;
}

a {
  color:inherit;
  text-decoration:none;
}

button {
  font:inherit;
}

a,button {
  -webkit-tap-highlight-color:transparent;
}

a:hover {
  color:var(--cyan);
}

button,a {
  touch-action:manipulation;
}

:focus-visible {
  outline:3px solid var(--yellow);
  outline-offset:6px;
}

.wrap {
  width:var(--wrap);
  margin-inline:auto;
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.skip-link {
  position:fixed;
  z-index:100;
  top:12px;
  left:12px;
  padding:12px 20px;
  background:var(--yellow);
  color:var(--deep);
  transform:translateY(-200%);
}

.skip-link:focus {
  transform:none;
}

p,h1,h2,figure {
  margin:0;
}

.site-header {
  position:fixed;
  inset:0 0 auto;
  z-index:20;
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
  background:var(--deep);
  border-bottom:1px solid var(--line);
}

.site-header.is-visible {
  opacity:1;
  visibility:visible;
  transform:none;
}

.nav-shell {
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:64px;
  gap:24px;
}

.wordmark {
  width:150px;
  flex-shrink:0;
}

.site-nav {
  display:flex;
  gap:34px;
  align-items:center;
}

.site-nav a {
  font:600 18px/1 var(--heading);
  padding:14px 0;
  letter-spacing:.025em;
}

.site-nav a:last-child {
  color:var(--orange);
}

.hero {
  position:relative;
  isolation:isolate;
  min-height:max(650px,100svh);
  overflow:hidden;
  background:#07152a;
}

.hero-landscape,.hero-clouds {
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
}

.hero-landscape img,.hero-clouds img {
  height:100%;
  width:100%;
  object-fit:cover;
  object-position:center bottom;
}

.hero-clouds {
  z-index:-1;
  opacity:.8;
}

.hero::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(5,19,40,.38),transparent 67%),linear-gradient(0deg,rgba(6,18,38,.92),transparent 20%);
  pointer-events:none;
}

.hero-content {
  position:relative;
  z-index:2;
  padding-top:clamp(70px,14svh,170px);
  padding-bottom:130px;
  pointer-events:none;
}

.hero-content a {
  pointer-events:auto;
}

.eyebrow,.section-kicker {
  font:600 15px/1.2 var(--heading);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--cyan);
}

.eyebrow {
  margin-bottom:22px;
}

.hero h1 {
  width:min(650px,56%);
  margin-left:-7px;
}

.tagline {
  font:600 clamp(21px,2.35vw,31px)/1.15 var(--heading);
  letter-spacing:.018em;
  color:var(--yellow);
  margin:18px 0 20px;
}

.hero-description {
  font-size:17px;
  line-height:1.65;
  color:var(--white);
}

.hero-actions {
  display:flex;
  gap:26px;
  align-items:center;
  margin-top:28px;
}

.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  white-space:nowrap;
  gap:13px;
  min-height:52px;
  padding:12px 26px;
  font:600 20px/1.2 var(--heading);
  border:1px solid transparent;
  transition:background .15s,color .15s;
}

.button-primary {
  background:var(--orange);
  color:var(--deep);
  box-shadow:4px 4px 0 #143b5b;
}

.button-primary:hover {
  background:var(--yellow);
  color:var(--deep);
}

.button span {
  font-size:13px;
}

.text-link {
  font:600 19px/1.3 var(--heading);
  white-space:nowrap;
  border-bottom:1px solid var(--cyan);
  padding-block:9px;
}

.text-link span {
  padding-left:12px;
  color:var(--cyan);
}

.status {
  display:flex;
  align-items:center;
  gap:9px;
  font:600 14px/1.4 var(--heading);
  letter-spacing:.065em;
  text-transform:uppercase;
  color:#ccdae8;
  margin-top:23px;
}

.status span {
  width:5px;
  height:5px;
  background:var(--cyan);
}

.hero-aircraft {
  position:absolute;
  z-index:1;
  width:min(970px,60%);
  max-width:none;
  right:2%;
  top:38%;
  pointer-events:none;
}

.hero-bottom {
  position:absolute;
  bottom:22px;
  left:0;
  right:0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#c4d5e7;
  font:600 14px/1.2 var(--heading);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.hero-bottom span:last-child {
  color:var(--cyan);
  font-size:25px;
}

.section {
  padding-block:74px;
}

.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  margin-bottom:30px;
}

.section-kicker {
  margin-bottom:10px;
}

h2 {
  font:600 clamp(34px,3.4vw,48px)/1.05 var(--heading);
  letter-spacing:-.015em;
}

.intro-copy {
  color:var(--muted);
  font-size:16px;
  max-width:470px;
  line-height:1.75;
}

.trailer-section {
  max-width:1100px;
}

.trailer-player {
  aspect-ratio:1672/941;
  background:#040e1e;
  border:1px solid #345470;
  position:relative;
}

.trailer-poster {
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
}

.trailer-poster img {
  width:100%;
  height:100%;
  object-fit:contain;
  transition:filter .2s;
}

.trailer-poster:hover img {
  filter:brightness(1.13);
}

.trailer-poster:focus-visible {
  outline-offset:4px;
}

.trailer-player iframe {
  display:block;
  width:100%;
  height:100%;
  border:0;
  position:absolute;
  inset:0;
}

.media-caption {
  display:flex;
  justify-content:space-between;
  gap:16px;
  color:var(--muted);
  font:600 15px/1.4 var(--heading);
  padding-top:13px;
}

.media-caption a {
  color:var(--cyan);
}

.media-caption a span {
  margin-left:6px;
}

.views {
  background:var(--panel);
  border-block:1px solid var(--line);
}

.gallery-note {
  font-size:15px;
  color:var(--muted);
}

.gallery {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:35px 28px;
}

.gallery-open {
  display:block;
  position:relative;
  background:var(--deep);
  border:1px solid #35516c;
}

.gallery-open img {
  width:100%;
  height:auto;
  transition:filter .2s;
}

.gallery-open:hover img {
  filter:brightness(1.12);
}

.gallery-expand {
  position:absolute;
  bottom:0;
  right:0;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  background:var(--deep);
  color:var(--cyan);
  font-size:24px;
  border-top:1px solid #35516c;
  border-left:1px solid #35516c;
}

.gallery figcaption {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  padding-top:10px;
  font:600 18px/1.3 var(--heading);
}

.image-number {
  color:var(--orange);
  font-size:13px;
  padding-right:9px;
}

.image-type {
  font:400 11px/1.4 system-ui,sans-serif;
  color:var(--muted);
  text-align:right;
}

.community {
  display:grid;
  grid-template-columns:1fr 330px;
  align-items:center;
  gap:60px;
}

.community p:not(.section-kicker) {
  margin-top:17px;
  color:var(--muted);
}

.community .steam-status {
  font:600 16px/1.3 var(--heading);
  color:var(--orange)!important;
}

.community-links {
  border-top:1px solid var(--line);
}

.community-links a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:58px;
  border-bottom:1px solid var(--line);
  font:600 22px/1 var(--heading);
}

.community-links span[aria-hidden] {
  color:var(--orange);
}

.site-footer {
  background:var(--deep);
  border-top:1px solid var(--line);
  padding-block:30px;
}

.footer-composition {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.footer-composition p {
  font-size:11px;
  color:var(--muted);
}

.studio-link {
  display:inline-flex;
  color:inherit;
  text-decoration:none;
}

.back-top {
  font:600 15px/1.3 var(--heading);
  color:var(--cyan);
  white-space:nowrap;
}

.lightbox-open {
  overflow:hidden;
}

.lightbox {
  color:var(--white);
  border:0;
  background:transparent;
  width:100vw;
  height:100dvh;
  max-width:100vw;
  max-height:100dvh;
  padding:70px 24px 24px;
  margin:0;
}

.lightbox::backdrop {
  background:rgba(2,9,21,.97);
}

.lightbox[open] {
  display:grid;
  grid-template-columns:110px minmax(0,1fr) 110px;
  gap:22px;
  align-items:center;
}

.lightbox-content {
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  height:100%;
}

.lightbox-content img {
  max-width:100%;
  width:auto;
  max-height:calc(100dvh - 160px);
  object-fit:contain;
}

.lightbox-content figcaption {
  padding-top:16px;
  color:var(--muted);
  font:600 17px/1.4 var(--heading);
  text-align:center;
}

.lightbox-close,.lightbox-nav {
  border:1px solid var(--cyan);
  background:var(--deep);
  color:var(--white);
  min-height:44px;
  cursor:pointer;
  font:600 17px/1.2 var(--heading);
  padding:10px 14px;
}

.lightbox-close:hover,.lightbox-nav:hover {
  color:var(--yellow);
}

.lightbox-close {
  position:absolute;
  right:24px;
  top:16px;
}

.lightbox-nav {
  padding-inline:6px;
}

@media(min-width:1700px) {
  .hero {
    min-height:max(730px,100svh);
  }
  .hero-content {
    padding-top:clamp(94px,14svh,170px);
  }
  .hero-aircraft {
    right:calc((100vw - 1720px)/2);
    top:38%;
    width:990px;
  }
  .hero h1 {
    width:650px;
  }
  .hero-landscape img,.hero-clouds img {
    object-position:center 65%;
  }
}

@media(max-width:1000px) {
  :root {
    --wrap:calc(100% - 64px);
  }
  .hero {
    min-height:max(620px,100svh);
  }
  .hero-content {
    padding-top:64px;
  }
  .hero h1 {
    width:60%;
  }
  .hero-aircraft {
    width:65%;
    right:2%;
    top:45%;
  }
  .hero-description {
    font-size:16px;
  }
  .tagline {
    font-size:25px;
  }
  .intro-copy {
    font-size:14px;
    max-width:360px;
  }
  .desktop-break {
    display:none;
  }
  .section-heading {
    gap:24px;
  }
  .gallery {
    gap:26px 20px;
  }
  .gallery figcaption {
    display:block;
  }
  .image-type {
    display:block;
    text-align:left;
    margin:5px 0 0 25px;
  }
  .community {
    grid-template-columns:1fr 260px;
    gap:35px;
  }
  .footer-composition {
    flex-wrap:wrap;
  }
  .footer-composition p {
    order:3;
    width:100%;
  }
  .section {
    padding-block:58px;
  }
}

@media(max-width:700px) {
  :root {
    --wrap:calc(100% - 40px);
  }
  html {
    scroll-padding-top:96px;
  }
  .nav-shell {
    width:calc(100% - 24px);
    min-height:60px;
    gap:10px;
  }
  .wordmark {
    width:90px;
  }
  .site-nav {
    gap:14px;
  }
  .site-nav a {
    font-size:14px;
  }
  .hero {
    min-height:max(745px,100svh);
  }
  .hero-content {
    padding-top:36px;
    padding-bottom:340px;
  }
  .eyebrow {
    font-size:12px;
    margin-bottom:18px;
    letter-spacing:.12em;
  }
  .hero h1 {
    width:100%;
    max-width:560px;
    margin-left:0;
  }
  .tagline {
    font-size:clamp(20px,5.4vw,30px);
    margin:16px 0;
  }
  .hero-description {
    font-size:15px;
    line-height:1.55;
  }
  .hero-actions {
    gap:23px;
    margin-top:22px;
  }
  .button {
    font-size:19px;
    min-height:49px;
    padding:11px 22px;
  }
  .text-link {
    font-size:18px;
  }
  .status {
    font-size:12px;
    margin-top:20px;
  }
  .hero-aircraft {
    width:96%;
    right:2%;
    top:auto;
    bottom:111px;
  }
  .hero-landscape,.hero-clouds {
    top:auto;
    height:max(420px,65%);
    bottom:0;
  }
  .hero-landscape img,.hero-clouds img {
    object-position:62% bottom;
  }
  .hero::after {
    background:linear-gradient(0deg,rgba(6,18,38,.8),transparent 24%),linear-gradient(180deg,#07152a 40%,transparent 68%);
  }
  .hero-bottom {
    font-size:11px;
    bottom:24px;
    letter-spacing:.055em;
  }
  .hero-bottom span:last-child {
    font-size:21px;
  }
  .section {
    padding-block:44px;
  }
  .section-heading {
    display:block;
    margin-bottom:25px;
  }
  .section-kicker {
    font-size:12px;
    letter-spacing:.12em;
    margin-bottom:10px;
  }
  h2 {
    font-size:35px;
  }
  .intro-copy,.gallery-note {
    margin-top:18px;
    font-size:14px;
    line-height:1.65;
  }
  .intro-copy br {
    display:none;
  }
  .media-caption {
    font-size:13px;
    padding-top:10px;
  }
  .gallery {
    grid-template-columns:1fr;
    gap:26px;
  }
  .gallery figcaption {
    display:flex;
  }
  .image-type {
    margin:0;
    text-align:right;
    font-size:10px;
  }
  .gallery figcaption>span:first-child {
    font-size:17px;
  }
  .gallery-expand {
    width:36px;
    height:36px;
    font-size:22px;
  }
  .community {
    grid-template-columns:1fr;
    gap:30px;
  }
  .community p:not(.section-kicker) {
    font-size:14px;
  }
  .community-links a {
    font-size:21px;
    min-height:54px;
  }
  .footer-composition {
    gap:20px;
  }
  .footer-composition p {
    font-size:10px;
  }
  .back-top {
    font-size:14px;
  }
  .lightbox {
    padding:70px 14px 20px;
  }
  .lightbox[open] {
    grid-template-columns:1fr 1fr;
    grid-template-rows:minmax(0,1fr) auto;
    gap:16px;
  }
  .lightbox-content {
    grid-column:1/-1;
    grid-row:1;
  }
  .lightbox-previous {
    grid-column:1;
    grid-row:2;
  }
  .lightbox-next {
    grid-column:2;
    grid-row:2;
  }
  .lightbox-content figcaption {
    font-size:15px;
  }
  .lightbox-content img {
    max-height:calc(100dvh - 180px);
  }
  .lightbox-close {
    right:14px;
  }
  .lightbox-nav {
    min-height:48px;
  }
}

@media(max-width:360px) {
  .site-nav {
    gap:10px;
  }
  .wordmark {
    width:76px;
  }
  .site-nav a {
    font-size:14px;
  }
  .hero {
    min-height:max(700px,100svh);
  }
  .hero-content {
    padding-top:30px;
  }
  .hero-actions {
    gap:16px;
  }
  .button {
    padding-inline:14px;
    font-size:18px;
  }
  .text-link {
    font-size:17px;
  }
  .hero-aircraft {
    bottom:120px;
  }
  .image-type {
    max-width:112px;
  }
  .tagline {
    letter-spacing:0;
  }
  .gallery figcaption {
    gap:6px;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important;
  }
}

.studio-mark {
  position: relative;
  display: block;
  width: min(290px, calc(100vw - 48px));
  aspect-ratio: 2021 / 484.535;
  flex: 0 0 auto;
}

.studio-mark-part {
  position: absolute;
  display: block;
  background: #c5c5c5;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.studio-mark-future {
  inset: .18% 5.28% 49.98% 39.34%;
  -webkit-mask-image: url("/assets/branding/mr-future-games-future.svg");
  mask-image: url("/assets/branding/mr-future-games-future.svg");
}

.studio-mark-mr {
  inset: 0 62% 12.91% 0;
  -webkit-mask-image: url("/assets/branding/mr-future-games-mr.svg");
  mask-image: url("/assets/branding/mr-future-games-mr.svg");
}

.studio-mark-tm {
  inset: .21% 0 92.16% 95.99%;
  -webkit-mask-image: url("/assets/branding/mr-future-games-tm.svg");
  mask-image: url("/assets/branding/mr-future-games-tm.svg");
}

.studio-mark-games {
  inset: 41.54% 5.08% 0 39.17%;
  -webkit-mask-image: url("/assets/branding/mr-future-games-games.svg");
  mask-image: url("/assets/branding/mr-future-games-games.svg");
}

.studio-mark {
  width:178px;
}

.studio-mark-part {
  background:#bdcad7;
}

@media(max-width:700px) {
  .studio-mark {
    width:150px;
  }
}
