@font-face { font-family: Orbitron; font-style: normal; font-weight: 600; font-display: swap; src: url("orbitron-latin-600-v1.woff2?v=585062e7") format("woff2"); }
/* Orbitron is licensed under SIL OFL 1.1. See orbitron-ofl.txt. */
/* Studio identity: slate, clear typography and restrained cyan. No game UI styles. */
:root{color-scheme:dark;--bg:#080b0d;--surface:#101619;--text:#f1f4f4;--muted:#acb7bc;--cyan:#08e6ff;--line:#303c42;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-size:17px;line-height:1.65}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;font-weight:600;letter-spacing:-.045em}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%;height:auto}a:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}::selection{color:var(--bg);background:var(--cyan)}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.eyebrow{text-transform:uppercase;font-size:12px;line-height:1.5;letter-spacing:.15em;font-weight:600;color:var(--muted)}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;left:-10000px;top:12px;padding:12px 20px;background:var(--cyan);color:var(--bg);z-index:100}.skip:focus{left:16px}
.header{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;min-height:48px}.brand img{width:52px;height:52px;object-fit:contain}.wordmark{font-family:Orbitron,Arial,sans-serif;font-weight:600;line-height:1.4;letter-spacing:.055em;font-size:17px}.wordmark>span{display:block}.wordmark b{color:var(--cyan);font-weight:inherit}.wordmark small{display:block;font-size:10px;letter-spacing:.39em}.header nav{display:flex;gap:38px}.header nav a{display:inline-flex;align-items:center;gap:22px;min-height:48px;font-size:14px;text-decoration:none}.header nav a:hover{color:var(--cyan)}
.hero{position:relative;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;padding-top:48px}.hero-copy{position:relative;z-index:1;padding-block:52px 80px}.hero .eyebrow{display:flex;align-items:center;gap:12px}.rule{height:1px;width:28px;background:var(--cyan)}h1{font-size:clamp(48px,5.8vw,84px);margin-top:30px;letter-spacing:-.065em;line-height:1.02}h1 em{font-style:normal;color:var(--cyan)}.intro{margin-top:30px;color:var(--muted);font-size:17px;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:54px;padding:13px 22px;background:var(--cyan);color:#061012;font-size:14px;font-weight:600;text-decoration:none;transition:background .18s}.button:hover{background:#b0f7ff}.button span[aria-hidden]{font-size:24px;line-height:1}.hero .button{margin-top:34px}.hero-art{min-width:0;position:relative}.hero-art::before{content:"";position:absolute;inset:12%;background:radial-gradient(ellipse,#08313980,transparent 70%);pointer-events:none}.hero-art img{position:relative;width:100%}.hero-foot{grid-column:1/-1;border-block:1px solid var(--line);padding-block:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-transform:uppercase;font-size:10px;letter-spacing:.16em;color:var(--muted)}.hero-foot a{min-height:44px;display:flex;gap:30px;align-items:center;text-decoration:none;color:var(--text)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}h2{font-size:clamp(34px,3.4vw,48px)}.section-heading h2{margin-top:16px}.section-heading>p{color:var(--muted);font-size:15px;max-width:340px}.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.game{min-width:0}.art{background:var(--surface);overflow:hidden;aspect-ratio:1024/500}.art img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.game-copy{padding:22px 0 0}.meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;text-transform:uppercase;font-size:10px;letter-spacing:.09em;color:var(--muted)}.meta span{color:var(--cyan)}.game h3{font-size:25px;letter-spacing:-.035em;margin-top:12px}.game-copy>p:not(.meta){font-size:15px;line-height:1.8;color:var(--muted);margin-top:14px}.platform-note{font-size:13px;color:var(--muted);margin-top:26px;padding-bottom:40px;border-bottom:1px solid var(--line)}.feature{margin-top:48px}.feature-art{aspect-ratio:20/9;overflow:hidden;background:var(--surface)}.feature-art img{width:100%;height:100%;object-fit:cover}.feature-caption{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:28px 0 38px;border-bottom:1px solid var(--line)}.feature h3{font-size:clamp(34px,3.4vw,48px);margin-top:12px}.feature-caption>p{max-width:540px;color:var(--muted);font-size:16px;align-self:center}.mystic{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;background:var(--surface)}.mystic-art img{width:100%;height:auto}.mystic-copy{padding:40px 48px}.mystic-copy>p:not(.eyebrow){color:var(--muted);font-size:16px;margin-top:24px}.button-outline{color:var(--text);border:1px solid #647780;background:transparent;margin-top:28px}.button-outline:hover{color:var(--bg);border-color:var(--cyan);background:var(--cyan)}.more-games{margin-top:64px}.gaia{margin-top:54px;border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr auto;gap:40px;align-items:center;padding-block:36px}.gaia h3{font-size:28px;margin-top:12px}.gaia>p{color:var(--muted);font-size:15px}.wip{font-size:12px;color:var(--muted);border:1px solid #647780;padding:9px 14px;white-space:nowrap}
.studio{background:var(--surface);border-block:1px solid var(--line)}.studio-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:56px 40px}.studio-grid>div:first-child{grid-column:span 3}.studio h2{margin-top:20px}.studio-copy{grid-column:span 3}.large-copy{font-size:30px;letter-spacing:-.025em;line-height:1.3;margin-bottom:24px}.studio-copy>p:not(.large-copy){color:var(--muted);font-size:16px;margin-top:18px}.principle{grid-column:span 2;border-top:1px solid #425057;padding-top:24px}.principle h3{font-size:22px;letter-spacing:-.025em;margin-top:22px}.principle p{font-size:15px;color:var(--muted);margin-top:14px}.contact{display:flex;justify-content:space-between;gap:48px;padding-block:110px}.contact h2{font-size:clamp(36px,4vw,58px);margin-top:20px}.contact h2+p{color:var(--muted);margin-top:24px;font-size:16px}.email{display:inline-flex;align-items:center;gap:24px;min-height:52px;color:var(--cyan);font-size:clamp(16px,2vw,24px);margin-top:16px;text-decoration-thickness:1px;overflow-wrap:anywhere}.socials{width:200px;align-self:end;flex-shrink:0}.socials .eyebrow{margin-bottom:16px}.socials>a{display:flex;align-items:center;justify-content:space-between;min-height:52px;border-bottom:1px solid var(--line);text-decoration:none}.socials>a:hover{color:var(--cyan)}.footer{border-top:1px solid var(--line)}.footer-top{display:flex;align-items:start;justify-content:space-between;gap:40px;padding-block:44px}.footer nav>div{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:8px}.footer nav a{font-size:13px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none}.footer nav a:hover{text-decoration:underline;color:var(--cyan)}.footer-bottom{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;padding-block:20px;font-size:11px;color:var(--muted)}.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.game:hover .art img{transform:scale(1.025)}}
@media(min-width:1600px){.hero{padding-top:80px}.hero-copy{padding-bottom:112px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.header nav{gap:24px}.hero{grid-template-columns:1.2fr 1fr}.hero-copy{padding-block:44px 64px}.desktop-break{display:none}.trio{gap:22px}.game h3{font-size:23px}.mystic-copy{padding:28px}.mystic-copy h3{font-size:36px}.gaia{gap:24px;grid-template-columns:1fr 1.3fr}.gaia .wip{justify-self:start}.footer-top{flex-direction:column}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.section{padding-block:64px}.header{min-height:130px;flex-direction:column;align-items:start;justify-content:center;gap:10px;padding-block:16px 6px}.brand img{width:44px;height:44px}.wordmark{font-size:15px}.wordmark small{font-size:9px}.header nav{width:100%;justify-content:space-between;gap:12px}.header nav a{font-size:13px;gap:10px}.hero{grid-template-columns:1fr;padding-top:0}.hero-copy{padding-block:42px 0}.hero h1{font-size:clamp(43px,8.4vw,64px);margin-top:24px}.intro{font-size:16px;line-height:1.75;margin-top:22px;max-width:440px}.hero .button{margin-top:26px}.hero-art{width:82%;max-width:400px;justify-self:center;margin-block:2px}.hero-foot{font-size:9px;padding-block:12px;flex-wrap:wrap;gap:6px 18px}.hero-foot a{margin-left:auto}.hero-foot>span:nth-child(2){display:none}.eyebrow{font-size:11px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px}.trio{grid-template-columns:1fr;gap:38px}.game-copy{padding-top:18px}.meta{font-size:11px}.game h3{font-size:28px}.game-copy>p:not(.meta){font-size:16px;margin-top:12px}.platform-note{padding-bottom:30px;margin-top:30px}.feature{margin-top:32px}.feature-art{aspect-ratio:16/9}.feature-caption{grid-template-columns:1fr;gap:20px;padding-block:24px 30px}.feature-caption h3{font-size:36px}.mystic{grid-template-columns:1fr}.mystic-copy{padding:28px 24px 32px}.mystic-copy h3{font-size:40px}.mystic-copy>p:not(.eyebrow){margin-top:20px}.more-games{margin-top:40px}.gaia{grid-template-columns:1fr;gap:22px;margin-top:40px;padding-block:30px}.gaia h3{font-size:30px}.gaia>p{font-size:16px}.studio-grid{grid-template-columns:1fr;gap:36px}.studio-grid>div:first-child,.studio-copy,.principle{grid-column:auto}.studio h2{font-size:39px}.large-copy{font-size:28px}.principle h3{font-size:25px;margin-top:16px}.principle p{font-size:16px}.contact{display:block}.contact h2{font-size:39px}.email{gap:10px;font-size:15px}.email span{font-size:24px}.socials{width:100%;margin-top:40px}.footer-top{padding-block:32px;gap:28px}.footer nav>div{gap:4px 24px}.footer nav a{font-size:14px}.footer-bottom{display:block;font-size:12px}.footer-bottom p{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Game detail pages share the studio's editorial layout. */
.wordmark { font-size-adjust: from-font; }
.game-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; text-decoration: none; }
.game-link span { font-size: 18px; color: var(--cyan); flex-shrink: 0; }
.game-link:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.detail { padding-bottom: 72px; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; margin-top: 28px; font-size: 13px; color: var(--muted); }
.breadcrumb a, .text-link { display: inline-flex; align-items: center; min-height: 44px; }
.detail-heading { display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: end; padding-block: 48px; }
.detail-heading h1 { font-size: clamp(40px, 5vw, 72px); margin-top: 20px; overflow-wrap: anywhere; }
.detail-lead { font-size: 24px; line-height: 1.4; letter-spacing: -.025em; max-width: 420px; }
.detail-heading .button, .detail-heading .wip { margin-top: 24px; display: inline-flex; }
.detail-art { margin: 0; }
.detail-art img { width: 100%; height: auto; max-height: 620px; object-fit: contain; background: var(--surface); }
.detail-art figcaption { text-align: right; }
figcaption { color: var(--muted); font-size: 12px; margin-top: 10px; }
.detail-about { display: grid; grid-template-columns: 1fr 1.4fr; gap: 64px; padding-block: 64px; }
.detail-about h2 { font-size: 32px; }
.detail-about p { color: var(--muted); font-size: 18px; }
.detail-about .button-outline { margin-right: 28px; }
.detail-about .platform-note { font-size: 13px; padding-bottom: 20px; margin-top: 24px; }
.facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 24px; margin-bottom: 28px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.facts dt { font-size: 11px; letter-spacing: .09em; text-transform: uppercase; color: var(--cyan); }
.facts dd { margin: 4px 0 0; font-size: 15px; color: var(--text); }
.text-link { font-size: 14px; color: var(--cyan); gap: 16px; margin-top: 12px; }
.detail-features { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
.detail-gallery { margin-top: 72px; border-top: 1px solid var(--line); padding-top: 48px; }
.screens { display: flex; flex-wrap: wrap; gap: 32px; align-items: start; }
.screens figure { margin: 0; width: min(100%,300px); }
.screens img { width: 100%; height: auto; }
.screens-wide figure { width: min(100%,900px); }
.detail-support { display: flex; justify-content: space-between; align-items: center; gap: 32px; border-block: 1px solid var(--line); padding-block: 40px; margin-top: 64px; }
.detail-support h2 { font-size: 32px; }
.detail-support p { color: var(--muted); font-size: 15px; margin-top: 12px; }
.detail-support .button { margin: 0; flex-shrink: 0; }
.related { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding-top: 40px; }
.related a { display: grid; grid-template-columns: 1fr auto; gap: 12px; text-decoration: none; padding-block: 12px; }
.related .eyebrow { grid-column: 1/-1; }
.related strong { font-size: 22px; font-weight: 500; }
.related a:hover strong { color: var(--cyan); }
@media (max-width:760px) {
  .detail { padding-bottom: 48px; }
  .detail-heading { grid-template-columns: 1fr; gap: 28px; padding-block: 32px; }
  .detail-lead { font-size: 22px; }
  .detail-about { grid-template-columns: 1fr; gap: 24px; padding-block: 40px; }
  .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-features { grid-template-columns: 1fr; gap: 28px; }
  .screens figure { width: calc((100% - 20px)/2); }
  .screens { gap: 20px; }
  .screens figure:only-child { width: min(100%,320px); }
  .screens-wide figure:only-child { width: 100%; }
  .detail-gallery { margin-top: 40px; padding-top: 32px; }
  .detail-support { flex-direction: column; align-items: start; margin-top: 40px; }
  .related { grid-template-columns: 1fr; gap: 20px; }
}

main:focus { outline: none; }
.detail-features .principle { grid-column: auto; }

/* Games, everyday utilities and learning platforms retain their own identities. */
.header nav { flex-wrap: wrap; }
.header nav a { min-inline-size: 44px; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; margin-block-start: 34px; }
.hero-actions .button, .hero-actions .text-link { margin: 0; }
.platforms { border-block-start: 1px solid var(--line); }
.platform-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 28px; }
.platform-card { min-inline-size: 0; display: flex; flex-direction: column; }
.platform-preview { margin: 0; }
.platform-preview img { inline-size: 100%; block-size: auto; aspect-ratio: 8 / 5; border: 1px solid var(--line); }
.platform-preview figcaption { text-align: end; }
.platform-copy { display: flex; flex-direction: column; flex: 1; padding-block-start: 26px; }
.platform-copy h3 { font-size: clamp(26px, 2.4vw, 34px); margin-block-start: 12px; }
.project-link { display: inline-flex; align-items: center; gap: 12px; min-block-size: 44px; text-decoration: none; }
.project-link span { color: var(--cyan); font-size: 22px; }
.project-link:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.platform-copy > p:not(.eyebrow) { color: var(--muted); font-size: 16px; margin-block-start: 18px; }
.platform-copy > p.project-note { font-size: 14px; padding-block-end: 20px; }
.project-actions { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-block-start: auto; border-block-start: 1px solid var(--line); padding-block-start: 12px; }
.project-actions .text-link { margin: 0; }
.platform-detail .detail-art img { max-block-size: none; }
.platform-connection { margin-block-start: 24px; padding-block-start: 20px; border-block-start: 1px solid var(--line); }
@media (max-width:760px) {
  .header nav { gap: 4px 12px; }
  .header nav a { font-size: 12px; min-inline-size: 44px; }
  .hero-actions { margin-block-start: 26px; }
  .hero-actions .button { margin: 0; }
  .platform-grid { grid-template-columns: 1fr; gap: 48px; }
  .platform-copy h3 { font-size: 30px; }
}

/* Native pause control; unsupported browsers and reduced-motion users get a still logo. */
.logo-motion { display: none; }
@keyframes stone-float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-9px) rotate(.8deg); }
}
@keyframes stone-glow {
  0%, 100% { opacity: .45; transform: scale(.96); }
  50% { opacity: 1; transform: scale(1.06); }
}
@supports selector(:has(*)) {
  @media (prefers-reduced-motion: no-preference) {
    .hero-art img { animation: stone-float 8s ease-in-out infinite paused; }
    .hero-art::before {
      background: radial-gradient(ellipse, #08e6ff26, transparent 70%);
      animation: stone-glow 8s ease-in-out infinite paused;
    }
    .hero-art:has(.logo-motion input:checked) img,
    .hero-art:has(.logo-motion input:checked)::before { animation-play-state: running; }
    .logo-motion {
      display: inline-flex; position: absolute; bottom: 0; left: 50%;
      transform: translateX(-50%); align-items: center; gap: 8px;
      min-height: 44px; padding: 8px 12px; white-space: nowrap;
      color: var(--muted); font-size: 12px; cursor: pointer;
    }
    .logo-motion input { accent-color: var(--cyan); width: 15px; height: 15px; margin: 0; cursor: pointer; }
    .logo-motion:focus-within { outline: 2px solid var(--cyan); outline-offset: 2px; }
  }
}

/* Portfolio audit: clearer hierarchy, readable labels and equal project emphasis. */
h1, h2, h3, .detail-lead { text-wrap: balance; }
.intro, .studio-copy p, .game-copy > p, .platform-copy > p, .detail-about p { text-wrap: pretty; }
.hero .intro { max-inline-size: 52ch; }
.hero-actions .button { gap: 20px; }
.platforms { border-block-start: 0; }
.games { border-block-start: 1px solid var(--line); }
.preview-link { display: block; }
.preview-link:hover { outline: 1px solid var(--cyan); outline-offset: 3px; }
.meta { font-size: 12px; letter-spacing: .04em; }
.hero-foot { font-size: 11px; letter-spacing: .1em; }
.footer-bottom { font-size: 13px; }
.jeep-art { display: block; position: relative; }
.jeep-art img { inline-size: 100%; block-size: auto; }
.jeep-wordmark { position: absolute; inset-inline-start: 7%; inset-block-start: 50%; transform: translateY(-50%); color: #27352c; font-size: clamp(40px, 7vw, 100px); font-weight: 800; line-height: .95; letter-spacing: -.06em; }
@media (min-width:761px) and (max-width:1100px) {
  .platform-grid { grid-template-columns: 1fr; gap: 40px; }
  .platform-card { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: center; }
  .platform-copy { padding: 0; }
}
@media (max-width:760px) {
  .hero h1 { font-size: clamp(40px, 8vw, 60px); }
  .hero .eyebrow { font-size: 10px; letter-spacing: .1em; }
  .hero-actions { gap: 12px; }
  .hero-actions .button { inline-size: 100%; }
  .hero-foot { font-size: 10px; }
  .jeep-wordmark { font-size: clamp(36px, 9vw, 60px); }
}
.group-label{margin-bottom:22px}.quad+.group-label{margin-top:64px}.quad{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.quad .game h3{font-size:22px}.quad .game{display:flex;flex-direction:column}.quad .game-copy{flex:1;display:flex;flex-direction:column;align-items:flex-start}.quad .game-copy .meta{align-self:stretch}.quad .game-copy .button{margin-top:auto}.quad .game-copy>p:not(.meta):last-of-type{margin-bottom:28px}
@media(max-width:1050px){.quad{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:44px}}
@media(max-width:760px){.quad{grid-template-columns:1fr;gap:38px}.quad .game h3{font-size:28px}.quad+.group-label{margin-top:48px}}
.feature-caption .button{margin-top:22px}
