@font-face {
  font-family: "Nunito";
  src: url("/assets/fonts/nunito-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
}
@font-face {
  font-family: "Caveat";
  src: url("/assets/fonts/caveat-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
:root {
  color-scheme: dark;
  --navy: #031e31;
  --ink: #08253a;
  --cream: #fbf8ef;
  --muted: #bcd0dc;
  --aqua: #48dcd4;
  --coral: #ff654a;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body {
  margin: 0;
  background: var(--navy);
  color: var(--cream);
  font-family: "Nunito", "Trebuchet MS", sans-serif;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { display: block; max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible { outline: 3px solid #ffb767; outline-offset: 5px; }
[hidden] { display: none !important; }
.shell { width: min(1240px, calc(100% - 64px)); margin-inline: auto; }
.skip-link { position: absolute; top: -100px; left: 20px; z-index: 10; padding: 12px 20px; background: var(--cream); color: var(--ink); border-radius: 8px; }
.skip-link:focus { top: 10px; }

.home-header { background: #031c2d; position: relative; z-index: 3; }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 79px; gap: 30px; }
.studio-brand { display: inline-flex; align-items: center; gap: 9px; flex: 0 0 auto; }
.brand-emblem { display: block; position: relative; width: 61px; height: 47px; overflow: hidden; mix-blend-mode: lighten; }
.brand-emblem img { position: absolute; width: 121px; max-width: none; height: auto; top: -7px; left: -29px; }
.brand-type { display: grid; text-align: center; }
.brand-name { font-size: 30px; line-height: 1.12; font-weight: 1000; letter-spacing: -.9px; background: linear-gradient(105deg, #44e8de 5%, #4cddd3 43%, #ffc774 58%, #ff8362 96%); background-clip: text; -webkit-background-clip: text; color: transparent; }
.brand-games { display: flex; align-items: center; justify-content: center; gap: 13px; margin-top: 5px; font-size: 11px; text-transform: uppercase; letter-spacing: 6px; line-height: 1; font-weight: 900; }
.brand-games::before, .brand-games::after { content: ""; width: 25px; height: 2px; border-radius: 2px; background: #22d7d3; }
.home-nav { display: flex; align-items: center; gap: 36px; font-size: 15px; font-weight: 700; }
.home-nav > a:not(.pill) { padding-block: 12px; }
.home-nav > a:not(.pill):hover, .footer-links a:hover, .footer-bottom a:hover { color: var(--aqua); }
.pill {
  display: inline-flex; align-items: center; justify-content: center; gap: 24px;
  min-height: 49px; padding: 11px 29px; border-radius: 23px; font-size: 17px; font-weight: 800;
  line-height: 1.4; transition: transform .18s ease, filter .18s ease; width: fit-content;
}
.pill:hover { transform: translateY(-2px); filter: brightness(1.08); }
.pill span { font-family: Arial, sans-serif; font-size: 27px; line-height: .7; font-weight: 400; }
.pill-coral { color: #06202d; background: linear-gradient(180deg, #ff805c, #fb533b); box-shadow: inset 0 1px 0 #ffb49166, 0 6px 18px #00142124; }
.pill-teal { color: #fff; background: linear-gradient(130deg, #007f85, #006e77); border-radius: 22px; }
.pill-aqua { color: #052b3a; background: #8bd9cc; }
.nav-cta { min-height: 41px; padding: 9px 23px; font-size: 14px; margin-left: 16px; }
.nav-cta span { display: none; }
.nav-toggle { display: none; border: 1px solid #a9d2e13b; background: #103449; color: white; padding: 10px 13px; border-radius: 12px; gap: 9px; align-items: center; cursor: pointer; }
.menu-symbol { width: 17px; display: grid; gap: 5px; }
.menu-symbol span { height: 2px; background: currentColor; border-radius: 2px; }

.studio-hero { isolation: isolate; position: relative; overflow: hidden; background: #032137; }
.hero-scenery, .next-scenery { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url("/assets/studio/shore-waves.svg") center bottom / cover no-repeat; }
.hero-inner { position: relative; min-height: 441px; display: flex; align-items: flex-start; }
.hero-copy { width: 65%; padding-top: 30px; padding-bottom: 92px; position: relative; z-index: 1; }
.eyebrow { text-transform: uppercase; letter-spacing: .36em; font-size: 11px; font-weight: 800; line-height: 1.5; margin: 0; color: #79d3d9; }
.hero-copy h1 { font-weight: 1000; font-size: clamp(48px, 5.2vw, 80px); line-height: .98; letter-spacing: -2.2px; margin: 17px 0 18px; }
.sunset-text { color: #ffc373; background: linear-gradient(180deg, #ffe49b 5%, #ffb76f 57%, #ff7566 98%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.ocean-text { color: #50e0d8; background: linear-gradient(180deg, #a1f4e3, #16cec9); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.hero-description { font-size: 21px; line-height: 1.5; font-weight: 500; margin: 0 0 24px; max-width: 640px; }
.hero-brand { position: absolute; left: 60%; top: 56px; width: 276px; mix-blend-mode: lighten; pointer-events: none; }
.hero-brand img { width: 100%; height: auto; }
.hero-note, .game-note { font-family: "Caveat", "Segoe Print", cursive; font-weight: 400; text-align: center; }
.hero-note { position: absolute; right: -2px; top: 52px; margin: 0; font-size: 38px; line-height: 1.04; color: #64aac4; transform: rotate(-10deg); }
.hero-note span, .game-note span { display: block; height: 2px; width: 80%; margin: 8px auto; background: currentColor; border-radius: 50%; transform: rotate(-6deg); opacity: .8; }

.games-section { background: var(--cream); color: var(--ink); padding: 25px 0 27px; scroll-margin-top: 18px; }
.section-kicker { display: flex; align-items: center; gap: 22px; margin-bottom: 17px; }
.section-kicker .eyebrow { color: var(--ink); font-weight: 900; font-size: 11px; letter-spacing: .34em; }
.section-kicker > span { width: 200px; height: 1px; background: #9faeb5; }
.game-feature { display: grid; grid-template-columns: 34% 1fr 110px; align-items: center; gap: 34px; border: 1px solid #e9e3d9; border-radius: 17px; padding-right: 29px; background: linear-gradient(110deg, #fffcf600, #fffdfa7d 70%, #efeee43d); overflow: hidden; }
.game-art { display: block; height: 170px; overflow: hidden; border-radius: 15px; }
.game-art img { width: 100%; height: 100%; object-fit: cover; object-position: center 47%; transition: transform .35s ease; }
.game-art:hover img { transform: scale(1.035); }
.game-copy { padding-block: 14px; }
.game-copy h3 { font-size: 31px; line-height: 1.15; font-weight: 1000; letter-spacing: -.7px; margin: 0 0 7px; }
.game-copy p { font-size: 17px; line-height: 1.5; margin: 0 0 16px; font-weight: 500; max-width: 560px; }
.game-copy .pill { font-size: 16px; min-height: 45px; padding: 9px 26px; }
.game-copy .home-store-links { display: flex; flex-wrap: wrap; gap: 13px; font-size: 13px; margin: 13px 0 0; }
.home-store-links a { color: #006d75; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.game-note { position: relative; color: #647d8f; margin: 12px 0; font-size: 29px; line-height: .95; transform: rotate(-13deg); }

.next-section { isolation: isolate; position: relative; overflow: hidden; background: #04243a; text-align: center; }
.next-scenery { opacity: .4; background-position: center 79%; filter: saturate(.55); }
.next-copy { padding: 31px 0 30px; position: relative; }
.next-copy .eyebrow { font-size: 11px; letter-spacing: .4em; color: #b6d1db; }
.next-copy h2 { font-size: clamp(30px, 3.4vw, 49px); line-height: 1.1; font-weight: 1000; letter-spacing: -1.2px; margin: 9px 0 10px; }
.next-copy > p:last-child { font-size: 19px; margin: 0; line-height: 1.5; }

.home-footer { background: #021c2c; }
.footer-main { min-height: 83px; display: flex; align-items: center; gap: 36px; }
.footer-brand .brand-emblem { width: 51px; height: 41px; }
.footer-brand .brand-emblem img { width: 105px; left: -25px; top: -6px; }
.footer-brand .brand-name { font-size: 25px; }
.footer-brand .brand-games { font-size: 9px; margin-top: 4px; letter-spacing: 5px; gap: 8px; }
.footer-brand .brand-games::before, .footer-brand .brand-games::after { width: 19px; }
.footer-motto { color: #aac2d0; font-size: 9px; text-transform: uppercase; letter-spacing: .3em; }
.footer-links { display: flex; align-items: center; gap: 30px; margin-left: auto; font-size: 14px; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; padding: 12px 0 14px; color: #a7bfcd; border-top: 1px solid #a3d1e115; font-size: 12px; }
.footer-bottom small { font-size: inherit; }
.footer-bottom nav { display: flex; flex-wrap: wrap; gap: 10px 22px; }

@media (min-width: 1700px) {
  .hero-inner { min-height: 470px; }
  .hero-copy { padding-top: 44px; }
}
@media (max-width: 1150px) {
  .shell { width: calc(100% - 48px); }
  .home-nav { gap: 22px; }
  .nav-cta { margin-left: 0; padding-inline: 17px; }
  .brand-name { font-size: 26px; }
  .hero-copy { width: 66%; }
  .hero-brand { left: 65%; width: 240px; top: 62px; }
  .hero-note { display: none; }
  .hero-description { font-size: 19px; }
  .desktop-break { display: none; }
  .game-feature { grid-template-columns: 34% 1fr; padding-right: 24px; gap: 25px; }
  .game-note { display: none; }
}
@media (max-width: 850px) {
  .header-inner { min-height: 75px; flex-wrap: wrap; gap: 0; }
  .home-nav { width: 100%; flex-wrap: wrap; padding: 12px 0 20px; justify-content: center; gap: 10px 23px; }
  .has-js .nav-toggle { display: inline-flex; }
  .has-js .home-nav { display: none; flex-direction: column; align-items: stretch; }
  .has-js .home-nav.is-open { display: flex; }
  .home-nav a { text-align: center; }
  .home-nav .pill { width: 100%; }
  .hero-inner { min-height: 420px; }
  .hero-copy { width: 72%; padding-top: 32px; }
  .hero-copy h1 { font-size: clamp(43px, 6.9vw, 62px); }
  .hero-description { font-size: 18px; }
  .hero-brand { top: 91px; left: 74%; width: 178px; }
  .game-copy h3 { font-size: 27px; }
  .game-copy p { font-size: 16px; }
  .game-copy .pill { padding-inline: 19px; font-size: 14px; }
  .footer-motto { display: none; }
}
@media (max-width: 600px) {
  .shell { width: calc(100% - 40px); }
  .header-inner { min-height: 76px; }
  .brand-emblem { width: 47px; height: 40px; }
  .brand-emblem img { width: 99px; left: -24px; top: -5px; }
  .brand-name { font-size: 24px; }
  .brand-games { font-size: 9px; letter-spacing: 5px; gap: 8px; }
  .brand-games::before, .brand-games::after { width: 17px; }
  .nav-toggle { font-size: 13px; padding: 10px; }
  .hero-inner { min-height: 491px; flex-direction: column; }
  .hero-copy { width: 100%; padding-top: 31px; padding-bottom: 147px; }
  .hero-copy .eyebrow { font-size: 10px; letter-spacing: .3em; }
  .hero-copy h1 { font-size: clamp(38px, 10.5vw, 61px); letter-spacing: -1.2px; margin-top: 19px; line-height: 1.03; }
  .hero-description { max-width: 420px; font-size: 17px; margin-bottom: 22px; }
  .hero-copy .pill { font-size: 16px; min-height: 46px; padding-inline: 24px; }
  .hero-brand { left: auto; right: 12px; top: auto; bottom: 25px; width: 152px; }
  .hero-scenery { background-size: auto 100%; background-position: 60% bottom; }
  .games-section { padding: 28px 0 32px; }
  .section-kicker { gap: 15px; margin-bottom: 16px; }
  .section-kicker .eyebrow { font-size: 10px; letter-spacing: .25em; }
  .section-kicker > span { flex: 1; width: auto; max-width: 125px; }
  .game-feature { grid-template-columns: 1fr; gap: 0; padding: 0; border-radius: 17px; background: #fffdf8; }
  .game-art { height: 183px; border-radius: 15px 15px 0 0; }
  .game-art img { object-position: center 45%; }
  .game-copy { padding: 21px 22px 24px; }
  .game-copy h3 { font-size: 28px; }
  .game-copy p { margin-bottom: 19px; }
  .game-copy .pill { min-height: 45px; font-size: 15px; }
  .next-copy { padding: 37px 5px 39px; }
  .next-copy h2 { font-size: 33px; letter-spacing: -.6px; line-height: 1.07; margin-top: 16px; }
  .next-copy h2 span { display: block; }
  .next-copy > p:last-child { font-size: 16px; max-width: 270px; margin-inline: auto; margin-top: 15px; }
  .footer-main { padding: 24px 0 18px; flex-direction: column; gap: 20px; }
  .footer-links { margin-left: 0; gap: 30px; }
  .footer-bottom { padding-bottom: 20px; font-size: 11px; gap: 12px; flex-wrap: wrap; }
  .footer-bottom nav { gap: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
@media (forced-colors: active) {
  .sunset-text, .ocean-text, .brand-name { background: none; -webkit-text-fill-color: currentColor; color: CanvasText; }
  .pill { border: 1px solid ButtonText; }
}

/* Shared inner pages. The approved homepage supplies the brand, fonts and navigation. */
.subpage { background: var(--cream); }
.subpage main { color: var(--ink); }
.home-nav a[aria-current="page"] { color: var(--aqua); }
.page-intro, .game-hero { position: relative; isolation: isolate; overflow: hidden; color: var(--cream); background: #032137; }
.page-intro::before, .game-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,#032137c9,#03213720), url("/assets/studio/shore-waves.svg") center bottom / cover no-repeat; opacity: .6; }
.page-intro .shell { padding-block: 48px 70px; }
.page-intro h1, .game-hero h1 { font-size: clamp(38px,4.5vw,65px); line-height: 1.02; font-weight: 1000; letter-spacing: -1.6px; margin: 15px 0 18px; }
.intro-copy { font-size: 20px; line-height: 1.6; max-width: 680px; margin: 0; color: #dae7ed; }
.page-paper { background: var(--cream); padding: 58px 0 65px; color-scheme: light; }
.page-paper h2, .page-banner h2 { font-size: clamp(27px,2.6vw,39px); letter-spacing: -.9px; line-height: 1.15; font-weight: 1000; margin: 12px 0 18px; }
.page-paper h3 { font-size: 24px; letter-spacing: -.45px; font-weight: 900; line-height: 1.25; margin: 14px 0 10px; }
.page-paper p, .page-paper li { font-size: 17px; line-height: 1.7; color: #385367; }
.page-paper p { margin: 0 0 16px; }
.page-paper p:last-child { margin-bottom: 0; }
.dark-eyebrow { color: #12767b; }
.inline-link { color: #006d75; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #00787f55; }
.inline-link:hover { color: #004a53; text-decoration-color: currentColor; }
.quiet-link { display: inline-flex; align-items: center; gap: 14px; color: #b6f0e6; font-size: 17px; font-weight: 800; padding-block: 12px; }
.quiet-link:hover { color: #fff; }
.page-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 27px; }
.page-banner { color: var(--cream); background: #062a40; padding: 34px 0; position: relative; }
.banner-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.page-banner h2 { margin: 0 0 9px; font-size: clamp(26px,2.2vw,33px); }
.page-banner p { color: #c1d6e2; line-height: 1.65; margin: 0; font-size: 17px; }
.page-banner .pill { white-space: nowrap; }
.story-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; }
.story-grid h2 { font-size: clamp(33px,3.2vw,46px); }
.story-copy { padding-top: 5px; max-width: 640px; }
.principle-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-top: 45px; }
.paper-card { padding: 28px; background: #fffdf8; border: 1px solid #e4e4d9; border-radius: 19px; }
.step-number { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; background: #e1eee6; color: #007378; font-weight: 1000; font-size: 17px; }
.catalog-feature { display: grid; grid-template-columns: 44% 1fr; gap: 65px; align-items: center; }
.catalog-art { border-radius: 24px; overflow: hidden; display: block; }
.catalog-art img { width: 100%; height: auto; aspect-ratio: 1.24; object-fit: cover; transition: transform .3s ease; }
.catalog-art:hover img { transform: scale(1.02); }
.catalog-copy h2 { font-size: 45px; }
.catalog-copy > p:not(.eyebrow) { font-size: 19px; }
.tag-list { display: flex; flex-wrap: wrap; gap: 9px; padding: 0; margin: 24px 0 28px; list-style: none; }
.tag-list li { font-size: 13px; font-weight: 800; line-height: 1.3; padding: 9px 14px; background: #e4eee6; border: 1px solid #d3e3d7; border-radius: 99px; color: #21616a; }
.dark-tags li { background: #0b3b4d; border-color: #6ba6b344; color: #c0efec; }
.game-hero-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 64px; align-items: center; padding-block: 35px 48px; }
.back-link { display: inline-block; color: #bcd7e2; font-size: 14px; font-weight: 700; padding-bottom: 30px; }
.back-link:hover { color: white; }
.game-hero h1 { font-size: clamp(42px,4.8vw,69px); }
.game-hero-copy > p:not(.eyebrow) { font-size: 20px; line-height: 1.6; color: #d6e5ea; margin: 0; max-width: 650px; }
.game-portrait { margin: 18px 0 0; }
.game-portrait img { width: 100%; max-height: 380px; aspect-ratio: 1; object-fit: cover; border-radius: 25px; box-shadow: 0 16px 50px #00131f55; }
.game-portrait figcaption { text-align: center; font-size: 13px; color: #afcdd9; margin-top: 12px; }
.island-story { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; scroll-margin-top: 25px; }
.island-art { margin: 0; }
.island-art img { width: 100%; height: 460px; object-fit: cover; object-position: center 58%; border-radius: 24px; }
.island-art figcaption { margin-top: 12px; color: #54707a; font-size: 13px; text-align: center; }
.feature-steps { padding: 0; margin: 27px 0 0; list-style: none; display: grid; gap: 25px; }
.feature-steps li { display: grid; grid-template-columns: 42px 1fr; gap: 19px; }
.feature-steps h3 { font-size: 21px; margin: 2px 0 6px; }
.feature-steps p { font-size: 16px; margin: 0; max-width: 450px; }
.news-list { display: grid; gap: 38px; }
.news-entry { display: grid; grid-template-columns: 37% 1fr; gap: 44px; align-items: center; padding-bottom: 38px; border-bottom: 1px solid #dfe1d7; }
.news-entry:last-child { padding-bottom: 0; border-bottom: 0; }
.news-illustration { aspect-ratio: 1.5; display: grid; place-items: center; border-radius: 20px; overflow: hidden; }
.news-illustration img { width: 100%; height: 100%; object-fit: cover; }
.studio-illustration { background: #052438 url("/assets/studio/shore-waves.svg") center / cover no-repeat; }
.studio-illustration > span { color: var(--cream); font-size: clamp(24px,2.8vw,42px); font-weight: 1000; letter-spacing: -.8px; line-height: 1.08; padding: 30px; }
.studio-illustration b { color: #ffc578; }
.news-copy p { max-width: 660px; }
.news-copy .eyebrow, .section-title .eyebrow { font-size: 11px; color: #12767b; }
.support-grid { display: grid; grid-template-columns: 1.6fr .8fr; gap: 60px; align-items: start; }
.faq-list { border-top: 1px solid #d9dfd7; margin-top: 28px; }
.faq-list details { border-bottom: 1px solid #d9dfd7; }
.faq-list summary { padding: 22px 34px 22px 0; cursor: pointer; font-size: 19px; font-weight: 900; position: relative; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 4px; top: 16px; font-weight: 500; color: #087e85; font-size: 28px; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list summary:focus-visible { outline: 3px solid #00828a; outline-offset: 4px; border-radius: 5px; }
.faq-list details > div { padding: 0 25px 24px 0; }
.faq-list details p, .faq-list details li { font-size: 16px; }
.faq-list details ul { padding-left: 22px; margin: 0; }
.support-aside { margin-top: 5px; }
.support-aside h3 { font-size: 24px; }
.small-symbol { display: inline-grid; place-items: center; color: #007378; background: #e1eee6; width: 47px; height: 47px; font-weight: 900; border-radius: 16px; font-size: 24px; }
.press-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.body-lead { max-width: 580px; }
.fact-list { margin: 0; }
.fact-list > div { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 15px 0; border-bottom: 1px solid #dce2d8; font-size: 16px; }
.fact-list dt { font-weight: 800; }
.fact-list dd { margin: 0; color: #385367; }
.section-title { margin-top: 48px; }
.section-title h2 { margin-top: 8px; }
.asset-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-top: 26px; }
.asset-card { border-radius: 19px; overflow: hidden; background: #fffdf8; border: 1px solid #e4e4d9; }
.asset-preview { height: 215px; overflow: hidden; background: #032137; }
.asset-preview img { width: 100%; height: 100%; object-fit: cover; }
.logo-preview img { object-fit: contain; }
.portrait-preview img { object-position: center 44%; }
.asset-copy { padding: 21px 24px 25px; }
.asset-copy h3 { margin-top: 0; font-size: 23px; }
.asset-copy p { font-size: 15px; margin-bottom: 17px; }
.page-paper .asset-note { font-size: 14px; color: #566e79; margin-top: 21px; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.contact-grid h2 { font-size: 29px; }
.contact-direct { padding: 28px 32px; margin-top: 28px; border-radius: 17px; background: #e9eee4; }
.contact-direct h2 { font-size: 26px; margin-top: 0; }
.legal-copy { max-width: 760px; min-height: 200px; }
.legal-layout { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 55px; align-items: start; }
.legal-toc { position: sticky; top: 24px; display: grid; gap: 13px; font-size: 15px; padding: 22px; background: #e9eee4; border-radius: 16px; }
.legal-toc .eyebrow { font-size: 10px; line-height: 1.6; letter-spacing: .12em; margin: 0 0 3px; }
.legal-toc a { color: #06666e; font-weight: 800; }
.legal-toc a:hover { text-decoration: underline; text-underline-offset: 3px; }
.legal-copy h2 { margin: 36px 0 16px; font-size: 29px; scroll-margin-top: 24px; }
.legal-copy > h2:first-child { margin-top: 0; }
.legal-copy address { font-style: normal; font-size: 17px; line-height: 1.8; margin-bottom: 20px; color: #385367; }
.legal-copy ul { padding-left: 23px; }
.legal-copy li + li { margin-top: 13px; }
.review-note { padding: 22px 25px; background: #fce6c7; border: 1px solid #dec4a1; border-radius: 14px; margin-bottom: 26px; }
.review-note strong { color: #604023; font-size: 16px; }
.page-paper .review-note p { font-size: 15px; line-height: 1.65; margin-top: 9px; color: #654e38; }
.inline-link, .legal-copy a { overflow-wrap: anywhere; }
.game-hero-copy > .game-availability { font-size: 14px; margin-top: 17px; color: #bcd7e2; }
.page-paper .support-privacy, .page-paper .contact-privacy { font-size: 14px; margin-top: 19px; }
.error-content { min-height: 220px; }
.error-content .page-actions { margin-top: 24px; }
.subpage .home-footer { color: var(--cream); }

@media (max-width: 1050px) {
 .story-grid, .press-intro { gap: 40px; }
 .game-hero-grid { gap: 38px; grid-template-columns: 1.15fr .85fr; }
 .game-hero-copy > p:not(.eyebrow), .intro-copy { font-size: 18px; }
 .game-portrait img { max-height: 340px; }
 .island-story { gap: 40px; }
 .catalog-feature { gap: 40px; }
 .support-grid { grid-template-columns: 1.4fr .8fr; gap: 30px; }
 .principle-grid { gap: 16px; }
 .paper-card { padding: 23px; }
 .asset-grid { gap: 16px; }
 .asset-copy { padding: 20px; }
}
@media (max-width: 780px) {
 .legal-layout { grid-template-columns: 1fr; gap: 28px; }
 .legal-toc { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 20px; }
 .legal-toc .eyebrow { grid-column: 1 / -1; }
 .page-intro .shell { padding-block: 36px 54px; }
 .page-intro h1 { font-size: 47px; }
 .page-paper { padding-block: 38px 44px; }
 .story-grid, .press-intro { grid-template-columns: 1fr; gap: 21px; }
 .principle-grid { grid-template-columns: 1fr; margin-top: 28px; }
 .catalog-feature { grid-template-columns: 1fr 1fr; gap: 28px; }
 .catalog-copy h2 { font-size: 33px; }
 .catalog-copy > p:not(.eyebrow) { font-size: 17px; }
 .game-hero-grid { grid-template-columns: 1fr; }
 .game-hero-copy > p:not(.eyebrow) { max-width: 560px; }
 .game-hero h1 { font-size: 56px; }
 .game-portrait { max-width: 420px; margin: 0; }
 .game-portrait img { max-height: none; }
 .island-story { grid-template-columns: 1fr 1fr; gap: 25px; }
 .island-art img { height: 475px; }
 .feature-steps { gap: 18px; }
 .feature-steps li { grid-template-columns: 1fr; gap: 7px; }
 .island-copy h2 { font-size: 29px; }
 .support-grid { grid-template-columns: 1fr; }
 .support-aside { max-width: 600px; }
 .asset-grid { grid-template-columns: 1fr; }
 .asset-card { display: grid; grid-template-columns: 38% 1fr; align-items: center; }
 .asset-preview { height: 190px; }
 .news-entry { gap: 27px; grid-template-columns: 1fr 1.3fr; }
 .studio-illustration > span { font-size: 28px; padding: 24px; }
 .banner-inner { align-items: flex-start; flex-direction: column; gap: 20px; }
 .footer-links { gap: 20px; }
}
@media (max-width: 520px) {
 .legal-copy h2 { font-size: 25px; }
 .legal-toc { font-size: 14px; padding: 19px; gap: 12px 16px; }
 .review-note { padding: 20px; }
 .page-intro h1 { font-size: clamp(36px,10vw,46px); letter-spacing: -1px; }
 .page-intro .eyebrow { font-size: 10px; letter-spacing: .3em; }
 .intro-copy { font-size: 17px; }
 .page-paper h2 { font-size: 29px; }
 .page-paper p { font-size: 16px; }
 .catalog-feature { grid-template-columns: 1fr; gap: 25px; }
 .catalog-art img { aspect-ratio: 1.24; }
 .tag-list { margin: 18px 0 22px; }
 .page-actions { gap: 9px 22px; }
 .game-hero-grid { padding-top: 20px; padding-bottom: 35px; gap: 28px; }
 .back-link { padding-bottom: 22px; }
 .game-hero h1 { font-size: clamp(40px,11vw,52px); }
 .game-hero-copy > p:not(.eyebrow) { font-size: 17px; }
 .game-hero-grid .pill { font-size: 16px; }
 .island-story { grid-template-columns: 1fr; gap: 30px; }
 .island-art img { height: 295px; }
 .feature-steps li { grid-template-columns: 42px 1fr; gap: 14px; }
 .feature-steps h3 { font-size: 21px; }
 .news-entry { grid-template-columns: 1fr; gap: 21px; }
 .news-illustration { max-height: 240px; }
 .studio-illustration > span { font-size: 38px; }
 .news-list { gap: 30px; }
 .news-entry { padding-bottom: 30px; }
 .faq-list summary { font-size: 18px; }
 .faq-list details > div { padding-right: 4px; }
 .fact-list > div { grid-template-columns: 1fr; gap: 5px; }
 .asset-card { display: block; }
 .asset-preview { height: 225px; }
 .contact-grid { grid-template-columns: 1fr; gap: 18px; }
 .contact-direct { padding: 25px; }
 .quiet-link { font-size: 16px; }
 .page-banner .pill { white-space: normal; }
}

/* Castaway Life: official in-store gameplay screenshots. */
.gameplay-showcase { background: #e8f3ec; padding: 55px 0 62px; color-scheme: light; }
.gameplay-heading { max-width: 700px; margin-bottom: 28px; }
.gameplay-heading h2 { color: var(--ink); font-size: clamp(30px,3vw,42px); line-height: 1.14; letter-spacing: -.9px; margin: 10px 0 12px; font-weight: 1000; }
.gameplay-heading p:last-child { color: #385367; font-size: 18px; line-height: 1.6; margin: 0; }
.gameplay-track { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 18px; }
.gameplay-shot { min-width: 0; margin: 0; }
.gameplay-shot img { display: block; width: 100%; height: auto; aspect-ratio: 438 / 900; object-fit: cover; border-radius: 17px; box-shadow: 0 12px 28px #12384322; }
.gameplay-shot figcaption { color: #235662; font-size: 14px; font-weight: 800; text-align: center; margin-top: 13px; }
@media (max-width: 900px) {
 .gameplay-track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 0 14px; }
 .gameplay-shot { flex: 0 0 min(32vw,220px); scroll-snap-align: start; }
}
@media (max-width: 520px) {
 .gameplay-showcase { padding: 40px 0 45px; }
 .gameplay-heading { margin-bottom: 23px; }
 .gameplay-heading p:last-child { font-size: 16px; }
 .gameplay-shot { flex-basis: min(56vw,210px); }
}

/* Castaway Life agreement: shared legal layout, no extra scripts or tracking. */
.legal-language { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.legal-language a { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 19px; border: 1px solid #9fd8d761; border-radius: 999px; color: #d8efed; font-weight: 800; }
.legal-language a[aria-current="page"] { background: #b8eee3; border-color: #b8eee3; color: #073340; }
.legal-language a:hover { border-color: #b8eee3; }
.legal-document .page-intro h1 { overflow-wrap: normal; hyphens: manual; font-size: clamp(32px,4.5vw,65px); }
.legal-document .legal-toc { gap: 11px; }
.legal-document .legal-toc a { line-height: 1.5; }
.legal-document .legal-copy { min-width: 0; }
.legal-document .legal-copy section:first-of-type h2 { margin-top: 28px; }
.legal-document .legal-summary { font-size: 19px; color: var(--ink); font-weight: 800; }
.legal-document-end { margin-top: 32px !important; }
.game-legal { border-top: 1px solid #dce2d8; }
.game-legal h2 { font-size: 29px; }
.legal-document .home-footer { break-before: auto; }
@media print {
  .legal-document { background: white; color: black; }
  .legal-document .home-header, .legal-document .home-footer, .legal-document .legal-toc, .legal-document .legal-language, .legal-document .skip-link, .legal-document .legal-document-end { display: none; }
  .legal-document .page-intro, .legal-document .page-paper { background: white; color: black; padding: 0; }
  .legal-document .page-intro::before { display: none; }
  .legal-document .page-intro .shell { padding-block: 10px 20px; }
  .legal-document .shell { width: 100%; }
  .legal-document .legal-layout { display: block; }
  .legal-document .legal-copy { max-width: none; }
  .legal-document .intro-copy, .legal-document .eyebrow, .legal-document .page-paper p, .legal-document .page-paper li { color: black; }
  .legal-document .page-intro h1 { font-size: 30px; }
  .legal-document h2 { break-after: avoid; }
  .legal-document p { orphans: 3; widows: 3; }
}

/* Shared studio layout. Existing brand typography and colours are retained. */
.landing-hero{color:var(--cream)}.page-intro .shell{padding-block:0}.game-hero-grid{padding-block:0}
html{scroll-padding-top:24px}body{overflow-wrap:break-word}img{height:auto}.shell{width:min(1160px,calc(100% - 64px))}h1,h2,h3{overflow-wrap:normal}a,button{touch-action:manipulation}.header-inner{gap:28px;min-height:86px}.home-nav{margin-left:auto;gap:28px}.header-actions{display:flex;align-items:center;gap:14px}.language-switch{display:flex;border:1px solid #6e9caa66;border-radius:99px;padding:4px;gap:2px}.language-switch a{display:grid;place-items:center;min-width:39px;min-height:36px;font-size:13px;font-weight:900;border-radius:99px;color:#ccdde5}.language-switch a[aria-current=page]{color:#072a38;background:#a0e3d6}.language-switch a:hover{color:#fff;background:#ffffff15}.language-switch a[aria-current=page]:hover{color:#072a38;background:#c3f3e9}.home-nav a[aria-current=page]{color:#83e3d6}.nav-toggle{min-height:44px}.footer-main{gap:26px;flex-wrap:wrap}.footer-motto{max-width:210px}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:4px 20px}.footer-bottom nav a,.footer-links a{display:inline-flex;align-items:center;min-height:44px}.footer-bottom nav a{font-size:13px}.footer-bottom{align-items:center;gap:20px}.actions{display:flex;gap:13px;flex-wrap:wrap;align-items:center}.text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-weight:800;color:inherit;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#78aab780}.pill-outline{border:1px solid #7db4bd88;color:#e8fbf7;background:#ffffff06}.pill-light{background:#edf9f3;color:#062936}.store-buttons{display:flex;flex-wrap:wrap;gap:12px}.store-buttons .pill{min-width:150px;min-height:52px;font-size:16px}.store-icon{width:20px;height:20px;flex:none;fill:currentColor}.page-intro{padding:63px 0 52px}.page-intro h1{max-width:900px;font-size:clamp(36px,5vw,66px);line-height:1.06;letter-spacing:-1.8px}.intro-copy{max-width:700px}.page-paper{padding:58px 0;background:var(--cream)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.section-heading h2{margin:8px 0 0;font-size:clamp(29px,3.2vw,43px);line-height:1.13;letter-spacing:-1px}.section-heading p{max-width:530px;color:#557080;margin:12px 0 0}.eyebrow.dark-eyebrow{color:#2e6970}.badge{display:inline-flex;align-items:center;gap:7px;border:1px solid #8ce7d754;background:#0b3e48;color:#b7f7e7;border-radius:30px;padding:6px 12px;font-size:12px;font-weight:900;letter-spacing:.03em}.badge::before{content:'';width:6px;height:6px;border-radius:100%;background:#71dfb9}.badge-on-light{background:#e4f3ec;border-color:#badccc;color:#235e51}.landing-hero{position:relative;isolation:isolate;overflow:hidden;background:#032137}.landing-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:url('/assets/studio/shore-waves.svg') center bottom / cover no-repeat;opacity:.7}.landing-grid{display:grid;grid-template-columns:1.07fr 1fr;gap:65px;align-items:center;padding-top:64px;padding-bottom:76px}.landing-copy h1{font-size:clamp(47px,5.2vw,74px);line-height:1.02;letter-spacing:-2px;margin:20px 0 23px;font-weight:1000}.landing-copy p:not(.eyebrow){font-size:19px;line-height:1.6;color:#d4e6eb;max-width:470px;margin:0 0 28px}.hero-game{display:block;position:relative;max-width:440px;width:100%;margin:0 0 0 auto;text-decoration:none}.hero-game-image{border-radius:34px;box-shadow:0 25px 60px #00111c66;overflow:hidden;background:#2eb3bd;aspect-ratio:1.08}.hero-game-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.hero-game:hover img{transform:scale(1.03)}.hero-game>.badge{position:absolute;top:18px;left:18px;z-index:1;box-shadow:0 3px 13px #03263233}.hero-game-caption{margin-top:17px;display:flex;align-items:center;justify-content:space-between;gap:15px}.hero-game-caption strong{font-size:24px;color:#fff}.hero-game-caption small{display:block;color:#a9c8d4;font-size:14px;margin-top:3px}.round-arrow{display:grid;place-items:center;width:47px;height:47px;background:#a2e3d4;border-radius:50%;color:#062735;font-size:24px}.games-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.game-card{border:1px solid #d8e4df;background:#fff;border-radius:23px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 25px #14352605}.game-card-art{display:block;background:#b8e3d9;aspect-ratio:1.75;overflow:hidden}.game-card-art img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;transition:transform .35s ease}.game-card-art:hover img{transform:scale(1.035)}.game-card-copy{padding:26px}.game-card h3{font-size:30px;letter-spacing:-.8px;margin:16px 0 10px;line-height:1.1}.game-card p{font-size:17px;color:#536b76;margin:12px 0 20px}.card-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;font-weight:800;color:#52717b}.game-card .pill{font-size:16px}.catalog-note{border:1px solid #a7c8c1;border-radius:23px;padding:40px;background:linear-gradient(140deg,#e7f4ed,#f6f5e9);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.catalog-note .small-symbol{margin-bottom:25px}.catalog-note h3{font-size:30px;line-height:1.15;margin:0 0 15px;letter-spacing:-.6px}.catalog-note p{font-size:17px;line-height:1.7;max-width:340px;color:#4a6770}.soft-section{padding:64px 0;background:#e8f3ed;color:var(--ink)}.studio-strip{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}.studio-strip h2{font-size:39px;line-height:1.15;letter-spacing:-1px;margin:12px 0 20px}.studio-strip p{color:#4c6874;font-size:18px;line-height:1.7}.news-row{display:grid;grid-template-columns:150px 1fr auto;gap:28px;border-top:1px solid #bdcdc6;border-bottom:1px solid #bdcdc6;padding:28px 0;align-items:center}.news-row time{color:#547077;font-size:14px}.news-row h3{font-size:25px;line-height:1.2;margin:8px 0}.news-row p{margin:0;color:#57727b}.news-row .eyebrow{letter-spacing:.2em}.game-hero{padding:42px 0 58px;background:#032137}.game-hero-grid{display:grid;grid-template-columns:1.3fr .8fr;gap:72px;align-items:center;margin-top:28px}.game-hero h1{font-size:clamp(46px,5vw,70px);line-height:1.02;letter-spacing:-2px;margin:18px 0 12px}.game-tagline{font-size:25px;color:#ffd188;font-weight:800;line-height:1.3;margin:0 0 20px}.game-hero .game-description{font-size:19px;color:#c3dbe3;line-height:1.65;max-width:580px;margin:0 0 24px}.game-hero .game-icon{width:100%;border-radius:32px;box-shadow:0 20px 45px #00182166}.game-facts{color:#b8d3dd;font-size:13px;line-height:1.8;margin:18px 0 0}.game-features{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-top:42px}.game-features h3{font-size:25px;line-height:1.2;margin:16px 0 12px}.game-features p{font-size:17px;color:#516c76;line-height:1.7}.feature-number{font-size:15px;letter-spacing:2px;font-weight:900;color:#357a79}.screenshots-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.screenshot-card{display:block;min-width:0}.screenshot-card img{border:4px solid #fff;border-radius:19px;box-shadow:0 8px 18px #063c3b17;width:100%;height:auto}.screenshot-card span{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:45px;margin:8px 2px 0;font-weight:800;font-size:14px}.screenshot-card span::after{content:'↗';color:#2c7a77}.gallery-hint{font-size:14px;color:#587782}.screenshot-dialog{max-width:min(95vw,680px);max-height:95dvh;width:680px;padding:18px 22px;border:1px solid #316074;border-radius:22px;background:#082b3f;color:#fff;box-shadow:0 30px 90px #0008}.screenshot-dialog::backdrop{background:#00121edd}.screenshot-dialog .dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:48px}.screenshot-dialog button{min-width:44px;min-height:44px;border:1px solid #7195a5;border-radius:12px;color:#fff;background:#153f52;cursor:pointer;padding:8px 12px;font:inherit;font-weight:700}.screenshot-dialog figure{margin:12px 0}.screenshot-dialog img{max-height:calc(95dvh - 180px);max-width:100%;width:auto;margin:0 auto;border-radius:9px;object-fit:contain}.screenshot-dialog figcaption{text-align:center;margin:12px 0 0}.dialog-counter{color:#a7cbd7;font-variant-numeric:tabular-nums}.download-banner{background:#0b3445;border-radius:25px;padding:38px 42px;display:flex;gap:35px;align-items:center;justify-content:space-between;color:#f7fff7}.download-banner h2{font-size:30px;line-height:1.2;margin:0 0 10px}.download-banner p{color:#b9d8e1;margin:0}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.quick-link{display:block;border-radius:18px;border:1px solid #d0ddd7;padding:25px;background:#fff}.quick-link h3{font-size:21px;margin:0 0 10px}.quick-link p{font-size:15px;color:#566f78;margin:0}.quick-link:hover{border-color:#398679}.support-choice{display:flex;align-items:center;gap:25px;padding:25px;border:1px solid #ceddd5;border-radius:22px;background:#fff;max-width:780px}.support-choice img{width:96px;border-radius:20px;flex:none}.support-choice h2{font-size:27px;margin:0 0 5px}.support-choice p{margin:0 0 10px;color:#557078}.support-choice .round-arrow{margin-left:auto;flex:none}.support-options{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:30px}.support-grid{gap:46px;grid-template-columns:minmax(0,1fr) 300px}.support-aside{position:static;align-self:start}.faq-list summary{padding:20px 34px 20px 0;line-height:1.5;min-height:60px;font-size:17px}.faq-list details>div{padding-bottom:20px;line-height:1.75}.faq-list details p{font-size:16px}.faq-list summary::after{right:7px}.support-aside a{overflow-wrap:anywhere}.article-width{max-width:760px}.article-width h2{margin-top:32px;font-size:28px;line-height:1.3}.article-width p{font-size:18px;line-height:1.8}.article-meta{display:flex;gap:18px;align-items:center;color:#abc8d4;font-size:14px;margin-top:24px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.about-grid p{font-size:18px;line-height:1.8;color:#506c77}.about-grid h2{font-size:36px;line-height:1.15;margin:0 0 24px}.about-facts{border-top:1px solid #c9dad2}.about-facts div{display:grid;grid-template-columns:130px 1fr;gap:25px;padding:18px 0;border-bottom:1px solid #c9dad2}.about-facts dt{color:#5d7680;font-size:14px}.about-facts dd{margin:0;font-weight:800}.press-downloads{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.press-download{padding:24px;background:white;border:1px solid #d1dfd8;border-radius:20px}.press-download img{width:100%;aspect-ratio:1.4;object-fit:contain;border-radius:12px;background:#092a39;margin-bottom:20px}.press-download h3{font-size:23px;line-height:1.3;margin:0 0 8px}.press-download p{color:#58727b;font-size:15px}.press-pack{border-top:1px solid #cbdcd3;margin-top:30px;padding-top:28px;display:flex;justify-content:space-between;gap:25px;align-items:center}.legal-layout{grid-template-columns:220px minmax(0,1fr);gap:42px}.legal-copy{min-width:0;max-width:790px}.legal-copy p,.legal-copy li{font-size:16px;line-height:1.8}.legal-copy h2{font-size:26px;line-height:1.25;margin-top:35px;overflow-wrap:anywhere}.legal-copy h2:first-child{margin-top:0}.legal-copy h3{font-size:21px}.legal-copy a{overflow-wrap:anywhere}.legal-nav{font-size:14px}.legal-nav a{display:block;padding:8px 0;min-height:38px}.legal-language{display:none}.review-note{background:#e7f3ed;border-color:#aacbbc;color:#193d42}.review-note p{color:#355a61}.review-note strong{color:#174f50}.legal-chooser{display:grid;grid-template-columns:1fr 1fr;gap:25px}.legal-chooser .paper-card{padding:30px}.legal-chooser h2{font-size:28px;line-height:1.2}.legal-chooser ul{list-style:none;padding:0;margin:20px 0 0}.legal-chooser li a{display:inline-flex;align-items:center;min-height:44px;font-weight:750;text-decoration:underline;text-underline-offset:4px}.paper-card a.inline-link{min-height:44px;display:inline-flex;align-items:center}.language-note{margin-top:25px;font-size:14px;color:#637a83}.news-full{grid-template-columns:1fr;max-width:900px}.news-full .news-row{grid-template-columns:145px 1fr 45px}.breadcrumb{color:#b3d6dd;font-size:14px;min-height:44px;display:inline-flex;align-items:center}.empty-state{padding:60px 0}.error-layout{text-align:center;max-width:750px;margin:auto}.error-layout .actions{justify-content:center}.error-code{font-size:15px;letter-spacing:.2em;color:#9bd6d0;margin-bottom:18px}.error-layout h1{font-size:clamp(42px,6vw,70px);line-height:1.1}.error-layout p{font-size:18px;color:#c0d9e2}.site-link-list{display:flex;gap:12px 25px;flex-wrap:wrap;margin-top:25px}.site-link-list a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px;font-weight:800}
@media(max-width:1100px){.landing-grid{gap:40px}.landing-copy h1{font-size:58px}.home-nav{gap:20px}.header-inner{gap:20px}.brand-name{font-size:27px}.game-hero-grid{gap:40px}}
@media(max-width:980px){.header-inner{position:relative;flex-wrap:wrap;gap:15px;min-height:78px;padding-block:13px}.header-actions{margin-left:auto}.has-js .nav-toggle{display:flex}.home-nav{margin-left:0;flex:1 0 100%;flex-wrap:wrap;padding:14px 0;gap:12px 24px;order:3}.has-js .home-nav{display:none;position:absolute;top:100%;left:-12px;right:-12px;flex-basis:auto;background:#082c40;padding:20px 24px;border:1px solid #345768;border-radius:0 0 18px 18px;box-shadow:0 18px 30px #00121a55;z-index:8}.has-js .home-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.home-nav>a:not(.pill){padding:12px 8px;min-height:48px}.landing-grid{gap:28px}.landing-copy h1{font-size:49px}.landing-copy p:not(.eyebrow){font-size:17px}.hero-game-caption strong{font-size:21px}.game-hero-grid{grid-template-columns:1.2fr .8fr}.game-hero h1{font-size:54px}.game-tagline{font-size:23px}.game-description{font-size:17px!important}.game-features{gap:25px}.support-grid{grid-template-columns:1fr}.support-aside{max-width:none}.studio-strip{gap:40px}.legal-layout{grid-template-columns:1fr}.legal-nav{position:static;display:flex;gap:4px 16px;flex-wrap:wrap;border-bottom:1px solid #c5d9d0;padding-bottom:20px}.legal-nav>strong,.legal-nav>p{width:100%}.screenshots-grid{gap:12px}.screenshot-card span{font-size:12px}.download-banner{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.shell{width:calc(100% - 40px)}.header-inner{gap:8px}.header-actions{gap:9px}.brand-emblem{width:43px;height:37px}.brand-emblem img{width:98px;top:-7px;left:-27px}.brand-name{font-size:22px;letter-spacing:-.6px}.brand-games{font-size:8px;letter-spacing:4px;gap:8px}.brand-games::before,.brand-games::after{width:17px}.studio-brand{gap:5px}.language-switch{padding:3px;gap:1px}.language-switch a{min-width:31px;min-height:33px;font-size:12px}.nav-toggle{padding:10px;min-width:42px;min-height:42px}.menu-label{position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.landing-grid{grid-template-columns:1fr;padding:40px 0 45px;gap:36px}.landing-copy h1{font-size:clamp(40px,9vw,58px);letter-spacing:-1.5px;margin:16px 0 20px}.landing-copy p:not(.eyebrow){font-size:17px;margin-bottom:24px}.landing-copy .actions .pill{font-size:16px;padding:11px 21px}.hero-game{max-width:450px;margin:auto}.hero-game-image{aspect-ratio:1.45;border-radius:25px}.hero-game-image img{object-position:center 52%}.hero-game-caption strong{font-size:22px}.hero-game-caption small{font-size:13px}.page-intro{padding:40px 0}.page-intro h1{font-size:39px;letter-spacing:-1px;max-width:100%;overflow-wrap:break-word;hyphens:auto}.intro-copy{font-size:17px}.page-paper,.soft-section{padding:42px 0}.section-heading{align-items:start;flex-direction:column;gap:12px;margin-bottom:25px}.section-heading h2{font-size:32px}.games-grid{grid-template-columns:1fr;gap:24px}.game-card-copy{padding:23px}.game-card-art{aspect-ratio:1.7}.game-card h3{font-size:29px}.catalog-note{padding:30px}.catalog-note h3{font-size:28px}.catalog-note .small-symbol{margin-bottom:17px}.studio-strip{grid-template-columns:1fr;gap:15px}.studio-strip h2{font-size:33px}.studio-strip p{font-size:17px}.news-row,.news-full .news-row{grid-template-columns:1fr 45px;gap:12px}.news-row time{grid-column:1/-1}.news-row h3{font-size:23px}.game-hero{padding:24px 0 42px}.game-hero-grid{grid-template-columns:1fr;gap:32px;margin-top:20px}.game-hero h1{font-size:48px}.game-hero .game-icon{max-width:340px;justify-self:center;border-radius:25px}.game-tagline{font-size:23px}.game-facts{font-size:13px}.store-buttons{gap:10px;width:100%}.store-buttons .pill{min-width:0;flex:1;font-size:15px;padding:12px 16px;gap:9px}.screenshots-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 14px;gap:18px}.screenshot-card{flex:0 0 58%;max-width:215px;scroll-snap-align:start}.screenshot-card span{font-size:14px}.game-features{grid-template-columns:1fr;gap:15px}.game-features article+article{border-top:1px solid #cadaD2;padding-top:20px}.game-features h3{font-size:25px;margin-top:10px}.game-features p{font-size:16px}.download-banner{padding:28px 24px;gap:22px;border-radius:20px}.download-banner h2{font-size:28px}.quick-links{grid-template-columns:1fr}.quick-link{padding:23px}.support-choice{gap:18px;padding:20px}.support-choice img{width:68px;border-radius:15px}.support-choice h2{font-size:22px}.support-choice .round-arrow{width:36px;height:36px;font-size:19px}.support-choice p{font-size:14px}.support-options{grid-template-columns:1fr}.support-choice .text-link{font-size:14px}.about-grid{grid-template-columns:1fr;gap:25px}.about-grid h2{font-size:32px}.about-facts div{grid-template-columns:100px 1fr;gap:15px}.press-downloads{grid-template-columns:1fr}.press-download img{max-height:230px}.press-pack{align-items:flex-start;flex-direction:column}.legal-chooser{grid-template-columns:1fr}.legal-copy h2{font-size:23px}.legal-copy p,.legal-copy li{font-size:16px}.legal-copy ul{padding-left:22px}.article-width p{font-size:17px}.article-width h2{font-size:25px}.footer-main{flex-direction:column;align-items:flex-start;gap:18px}.footer-motto{display:block;max-width:280px;margin:0;font-size:12px}.footer-links{flex-wrap:wrap;gap:6px 22px;justify-content:flex-start}.footer-bottom{flex-direction:column;align-items:flex-start}.footer-bottom nav{justify-content:flex-start;gap:4px 17px}.footer-brand .brand-name{font-size:27px}.footer-brand .brand-games{font-size:9px}.home-footer{padding:34px 0 22px}.screenshot-dialog{padding:12px;width:calc(100vw - 22px);max-width:calc(100vw - 22px);border-radius:17px}.screenshot-dialog button{font-size:14px}.screenshot-dialog img{max-height:calc(94dvh - 190px)}}
@media(max-width:359px){.shell{width:calc(100% - 32px)}.brand-name{font-size:19px}.brand-emblem{width:33px}.brand-emblem img{left:-31px}.brand-games{font-size:7px;letter-spacing:3px}.header-actions{gap:6px}.language-switch a{min-width:29px;min-height:33px}.landing-copy h1{font-size:39px}.game-hero h1{font-size:41px}.store-buttons{flex-direction:column}.store-buttons .pill{width:100%}.support-choice{flex-wrap:wrap}.support-choice .round-arrow{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-game-image img,.game-card-art img{transition:none}.hero-game:hover img,.game-card-art:hover img{transform:none}}
.screenshot-dialog img{max-height:calc(95dvh - 215px)}html:has(dialog[open]){overflow:hidden}
.legal-chooser{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-chooser .paper-card{min-width:0}.legal-chooser li a{display:block;overflow-wrap:anywhere;padding-block:9px}.legal-chooser .eyebrow{font-size:11px;letter-spacing:.18em}@media(max-width:700px){.legal-chooser{grid-template-columns:minmax(0,1fr)}.legal-chooser .paper-card{padding:24px}}
