@font-face{font-family:Newsreader;src:url('../cinematic/newsreader.woff2?v=6e4f2958c3a7') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('../cinematic/manrope.woff2?v=a30ddcd34970') format('woff2');font-weight:400;font-display:swap}
:root{--paper:#f0ece7;--ink:#1e1e1d;--muted:#636b6b;--line:#d6d5cd;--blue:#466b9e;--night:#1c1b1a;--gutter:clamp(24px,5.2vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--night);color:var(--ink);font:15px/1.65 Manrope,'Segoe UI',sans-serif}main{max-width:1536px;margin:auto;background:var(--paper)}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}h2,h3,p,figure{margin:0}
.skip-link{position:absolute;z-index:10;top:12px;left:16px;padding:10px 16px;background:var(--paper);transform:translateY(-200%)}.skip-link:focus{transform:none}
.hero{position:relative}.hero>img{display:block;width:100%;height:auto}.hero-link{position:absolute;display:block;border-radius:4px}.hero-link:hover{box-shadow:0 0 0 1px #b7cbe388;background:#ffffff06}.hero-designs{left:39.8%;top:1.5%;width:5.8%;height:4.7%}.hero-services{left:47.2%;top:1.5%;width:6.8%;height:4.7%}.hero-contact{left:55.5%;top:1.5%;width:5%;height:4.7%}.hero-request{left:86%;top:1.4%;width:9.7%;height:4.3%}.hero-cta{left:4.8%;top:54.3%;width:16.4%;height:6%}.hero-worlds{left:4.8%;top:93.6%;width:12%;height:5%}
.section{padding:88px var(--gutter) 104px}.section-heading{display:grid;grid-template-columns:1.25fr 1fr;align-items:end;gap:70px;margin-bottom:50px}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--blue);margin-bottom:22px}h2{font:400 clamp(38px,4vw,62px)/1.08 Newsreader,Georgia,serif;letter-spacing:-.025em;text-wrap:balance}.section-heading>p{max-width:420px;justify-self:end;color:var(--muted);font-size:16px;line-height:1.85;padding-bottom:4px}.foundation{padding-top:54px}.foundation .gallery{max-width:1220px;margin:auto}
.image-link{position:relative;display:block;overflow:hidden;background:#1b1a19;border-radius:6px;box-shadow:0 24px 44px -32px #1e1e1d66}.launcher-image{display:block;width:100%;aspect-ratio:16/10;object-fit:contain}.image-zoom{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:36px;height:36px;border:1px solid #f1eee744;border-radius:50%;background:#171716d9;color:#f1eee7;transition:background .2s}.image-link:hover .image-zoom{background:#466b9e}
.gallery-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px;font-size:13px}.gallery-caption>p{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}.view-kind{color:var(--muted);font-size:11px}.gallery-arrows{display:flex;align-items:center;gap:8px;flex-shrink:0}.gallery-arrows>span{color:var(--muted);font-size:11px;letter-spacing:.08em;margin-right:9px;font-variant-numeric:tabular-nums}.gallery-arrows button{width:40px;height:40px;padding:0;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:50%;font-size:18px;transition:background .2s}.gallery-arrows button:hover:not(:disabled){background:#e4e6e1}.gallery-arrows button:disabled{opacity:.28}
.foundation-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin-top:30px}.foundation-steps button{padding:17px 0;text-align:left;border:0;border-top:1px solid #cbcac8;background:transparent;color:var(--muted);font-size:14px;display:flex;gap:12px;align-items:baseline}.foundation-steps button>span{font-size:10px;color:var(--muted);letter-spacing:.1em}.foundation-steps button[aria-pressed=true]{border-color:var(--blue);box-shadow:0 -1px var(--blue);color:var(--blue)}.foundation-steps button[aria-pressed=true]>span{color:var(--blue)}.foundation-description{margin-top:4px;min-height:2em;font-size:13px;color:var(--muted)}
.themes{border-top:1px solid var(--line);padding-bottom:90px}.themes .section-heading{margin-bottom:36px}.theme-index{display:flex;gap:32px;border-bottom:1px solid var(--line);padding-bottom:30px}.theme-index a{text-decoration:none;font-size:11px;letter-spacing:.1em;display:flex;gap:20px;align-items:center}.theme-index a>span{font-size:16px;color:var(--blue)}.theme-index a:hover{color:var(--blue)}.theme{padding-top:64px;scroll-margin-top:24px}.theme+.theme{margin-top:65px;border-top:1px solid var(--line)}.theme-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:70px;margin-bottom:28px}.theme-style{font-size:10px;color:var(--muted);letter-spacing:.13em;margin-bottom:12px}.theme-style span{margin:0 9px;color:#a5a3a0}.theme h3{font:400 clamp(30px,3.4vw,48px)/1.05 Newsreader,Georgia,serif;letter-spacing:.025em}.theme-heading>p{justify-self:end;max-width:410px;color:var(--muted);font-size:14px;line-height:1.8}.theme .launcher-image{max-height:700px}
.theme-views{margin-top:12px}.theme-views>summary{display:flex;align-items:center;gap:16px;list-style:none;width:fit-content;min-height:44px;font-size:12px;cursor:pointer;color:var(--blue)}.theme-views>summary::-webkit-details-marker{display:none}.theme-views>summary>span{font-size:18px;transition:transform .2s}.theme-views[open]>summary>span{transform:rotate(45deg)}.phase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;padding-bottom:10px}.phase-grid button{display:flex;gap:10px;align-items:baseline;text-align:left;border:1px solid var(--line);border-radius:3px;padding:12px 14px;background:transparent;color:var(--muted);font-size:12px;line-height:1.6}.phase-grid button>span{font-size:9px;opacity:.7}.phase-grid button:hover{border-color:#93918f}.phase-grid button[aria-pressed=true]{border-color:var(--blue);color:var(--blue);background:#466b9e08}
.services{border-top:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:64px}.service-grid article{border-top:1px solid var(--line);padding-top:22px;display:flex;flex-direction:column;align-items:start}.service-number{font-size:10px;color:var(--blue);margin-bottom:24px;letter-spacing:.1em}.service-grid h3{font:400 31px/1.2 Newsreader,Georgia,serif;margin-bottom:14px}.service-grid p{font-size:14px;color:var(--muted);max-width:335px;margin-bottom:25px}.service-grid a{margin-top:auto;font-size:12px;text-decoration:none;color:var(--blue)}.service-grid a:hover{text-decoration:underline}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:var(--night);color:var(--paper);padding-top:96px;padding-bottom:84px}.contact .eyebrow{color:#a4bad2;font-size:10px;letter-spacing:.16em}.contact h2{font-size:clamp(38px,4vw,60px)}.contact-intro>p:not(.eyebrow){max-width:405px;color:#bab9b7;font-size:14px;margin-top:28px}.process{padding:0;margin:40px 0 0;list-style:none;font-size:12px;color:#cac9c8;display:grid;gap:11px}.process span{color:#859bb2;margin-right:15px;font-size:10px}.contact-preview{align-self:center}.contact-preview label{display:block;font-size:12px;color:#d6d6d5}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}.contact-preview input,.contact-preview textarea{display:block;width:100%;margin-top:10px;padding:13px 14px;background:#ffffff03;border:1px solid #605e5c;border-radius:3px;color:#d4d3d2;font-size:13px;resize:none}.contact-preview input::placeholder,.contact-preview textarea::placeholder{color:#a4a2a0;opacity:1}.primary-button{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding:15px 20px;border:0;border-radius:3px;background:#4a6c9e;color:#fff;font-size:14px;opacity:1}.primary-button>span{font-size:20px}.form-note{font-size:10px;color:#abaaa8;margin-top:12px}
.site-footer{display:flex;gap:30px;align-items:center;flex-wrap:wrap;background:var(--night);color:#bdbcba;padding:28px var(--gutter) 34px;border-top:1px solid #3f3e3d;font-size:11px}.wordmark{font:400 25px/1.2 Newsreader,Georgia,serif;letter-spacing:.19em;color:var(--paper)}.site-footer>a{margin-left:auto;text-decoration:none;color:#b7c9df}.review-notes{max-width:1536px;margin:auto;padding:24px var(--gutter);color:#aba9a7;font-size:11px}.review-notes summary{cursor:pointer;width:fit-content}.review-notes p{max-width:960px;margin:16px 0}.review-notes details details{margin-top:20px}.review-notes img{display:block;width:100%;max-width:900px;margin-top:20px}.gallery-back{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px var(--gutter);border-bottom:1px solid var(--line);font-size:11px}.gallery-back>span{letter-spacing:.12em;color:var(--muted)}
@media(min-width:1536px){.section{padding-right:80px;padding-left:80px}}
@media(max-width:1000px){.section{padding-top:64px;padding-bottom:72px}.foundation{padding-top:40px}.section-heading{gap:36px}.section-heading>p{font-size:14px}.theme-heading{gap:36px}.theme .launcher-image{max-height:none}.phase-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-grid{gap:28px}.contact{gap:42px}.contact .eyebrow{letter-spacing:.08em}}
@media(max-width:700px){html{scroll-padding-top:16px}.section{padding-top:50px;padding-bottom:58px}.foundation{padding-top:32px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.section-heading>p{justify-self:start;max-width:490px}.eyebrow{margin-bottom:18px;font-size:10px}h2{font-size:38px}.gallery-caption{gap:12px;margin-top:12px}.gallery-caption>p{gap:4px;flex-direction:column;font-size:12px}.gallery-arrows{gap:6px}.gallery-arrows button{width:36px;height:36px}.gallery-arrows>span{font-size:9px;margin-right:3px}.image-zoom{width:29px;height:29px;right:10px;bottom:10px;font-size:14px}.foundation-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin-top:24px}.foundation-steps button{padding:14px 0;font-size:12px}.foundation-description{font-size:12px;margin-top:16px;min-height:3.3em}.theme-index{gap:8px;justify-content:space-between;flex-wrap:wrap;padding-bottom:22px}.theme-index a{font-size:9px;letter-spacing:.03em;gap:8px;padding:5px 0}.theme{padding-top:42px}.theme+.theme{margin-top:42px}.theme-heading{grid-template-columns:1fr;gap:18px;margin-bottom:22px}.theme-heading>p{justify-self:start;max-width:460px;font-size:13px}.theme h3{font-size:34px}.phase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phase-grid button{font-size:11px;padding:10px;gap:8px}.service-grid{grid-template-columns:1fr;gap:32px;margin-top:36px}.service-number{margin-bottom:12px}.service-grid h3{font-size:28px}.service-grid p{max-width:500px;margin-bottom:18px}.contact{grid-template-columns:1fr;gap:42px}.contact h2{font-size:42px}.process{margin-top:28px}.form-pair{gap:15px}.site-footer{align-items:start;flex-direction:column;gap:16px;padding-top:26px}.site-footer>a{margin-left:0}.hero-link{border-radius:1px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}



/* One restrained system for the page; individual game skins live inside images. */
html{scroll-padding-top:94px}
.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}
.hero-art,.hero-art img{display:block;width:100%;height:auto}
.hero-mobile-copy{display:none}
.section-nav{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:32px;padding:10px var(--gutter);background:var(--paper);border-bottom:1px solid var(--line)}
.section-nav-brand{font:400 19px/1.2 Newsreader,Georgia,serif;letter-spacing:.18em;text-decoration:none}
.section-nav>div{display:flex;align-items:center;gap:34px}
.section-nav>div>a{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;font-size:13px;text-decoration:none;border-bottom:2px solid transparent}
.section-nav a[aria-current=location]{color:var(--blue);border-color:var(--blue)}
.section-nav .nav-inquiry{color:var(--blue)}
.section-heading>p{font-size:16px}
.theme{scroll-margin-top:92px;padding-top:48px}
.theme+.theme{margin-top:46px}
.theme-heading>p{font-size:15px}
.theme .launcher-image{max-height:620px}
.eyebrow,.theme-style{font-size:12px}
.theme-index a{font-size:12px;min-height:44px}
.view-kind,.gallery-arrows>span,.service-grid a{font-size:12px}
.gallery-caption{font-size:14px}
.gallery-caption>p{min-width:0;overflow-wrap:anywhere}
.gallery-arrows button{width:44px;height:44px}
.image-zoom{width:44px;height:44px}
.foundation-steps button{font-size:15px;min-height:52px}
.foundation-steps button>span{font-size:11px}
.foundation-steps{gap:18px;margin-top:24px}
.foundation-steps button{display:grid;gap:12px;padding:12px 0 16px;align-items:start}
.foundation-steps .phase-preview{display:block;width:100%;height:clamp(70px,9vw,110px);object-fit:contain;background:var(--night);border-radius:3px;opacity:.76;transition:opacity .2s}
.foundation-steps button:hover .phase-preview,.foundation-steps button[aria-pressed=true] .phase-preview{opacity:1}
.foundation-steps button>.phase-title{display:flex;gap:10px;align-items:baseline;font-size:14px;line-height:1.4;color:inherit}
.foundation-steps .phase-title>span{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}
.foundation-steps button[aria-pressed=true] .phase-title>span{color:var(--blue)}
.foundation-description{font-size:14px}
.open-viewer{display:flex;align-items:center;gap:24px;min-height:44px;padding:6px 0;margin-top:12px;background:transparent;border:0;color:var(--blue);font-size:13px;text-align:left}
.open-viewer[hidden]{display:none}
.open-viewer>span{font-size:19px}
.open-viewer:hover{text-decoration:underline;text-underline-offset:5px}
.viewer-ready .theme-views{display:none}
.foundation .open-viewer{margin-top:0;float:right}
.foundation-description{clear:both;padding-top:10px}
.image-status{position:absolute;inset:0;display:grid;place-items:center;padding:24px;background:var(--night);color:var(--paper);font-size:14px;text-align:center}
.image-status[hidden]{display:none}
.image-link[data-failed=true]{outline:1px solid #c0a278}

.gallery-viewer{width:min(1440px,96vw);max-width:none;max-height:94vh;max-height:94dvh;padding:0;border:1px solid #585654;border-radius:8px;background:var(--night);color:var(--paper);box-shadow:0 30px 100px #0008;overflow:auto}
.gallery-viewer::backdrop{background:#0d0d0de8}
.viewer-inner{padding:24px 28px 18px}
.viewer-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px}
.viewer-eyebrow{font-size:10px;letter-spacing:.16em;color:#a9bdd2;margin-bottom:6px}
.viewer-header h2{font:400 29px/1.1 Newsreader,Georgia,serif;letter-spacing:.01em}
.viewer-header button,.viewer-arrows button{width:44px;height:44px;padding:0;flex-shrink:0;border:1px solid #716f6d;border-radius:50%;background:transparent;color:var(--paper);font-size:24px;cursor:pointer}
.viewer-header button:hover,.viewer-arrows button:hover:not(:disabled){background:#ffffff12}
.viewer-arrows button:disabled{opacity:.3;cursor:default}
.viewer-stage{position:relative;min-height:120px;background:#131313;border-radius:4px;overflow:hidden;display:grid;place-items:center}
.viewer-stage>img{display:block;width:100%;height:calc(94vh - 234px);height:calc(94dvh - 234px);max-height:790px;min-height:120px;object-fit:contain}
.viewer-stage>p{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;background:#131313;color:#d2d1d0;font-size:14px}
.viewer-stage>p[hidden]{display:none}
.viewer-toolbar{display:flex;align-items:center;gap:24px;margin-top:20px}
.viewer-select{display:flex;align-items:center;gap:14px;flex:1;min-width:0}
.viewer-select label{font-size:12px;color:#cbcac8}
.viewer-select select{width:100%;max-width:520px;min-width:0;min-height:44px;padding:9px 12px;background:#262524;border:1px solid #716f6d;border-radius:3px;color:var(--paper);font-size:14px}
.viewer-kind{color:#a9bdd2;font-size:12px}
.viewer-arrows{display:flex;align-items:center;gap:16px;flex-shrink:0}
.viewer-arrows>span{font-size:12px;color:#cbcac8;min-width:46px;text-align:center;font-variant-numeric:tabular-nums}
.viewer-hint{margin-top:14px;color:#aaa8a6;font-size:11px}
body:has(.gallery-viewer[open]){overflow:hidden}
.gallery-viewer :focus-visible{outline:2px solid #a7c7f0;outline-offset:4px}

@media(max-width:1000px){.section-nav{gap:24px}.section-nav>div{gap:22px}.theme .launcher-image{max-height:none}.section-heading>p{font-size:15px}.viewer-kind{display:none}}
@media(max-width:760px){
  html{scroll-padding-top:76px}
  .hero{background:#191817;color:var(--paper)}
  .hero-mobile-copy{display:block;padding:0 24px 12px}
  .mobile-masthead{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid #ffffff24;margin-bottom:38px}
  .mobile-masthead .wordmark{font-size:21px}
  .mobile-masthead a{font-size:13px;text-decoration:none;min-height:44px;display:flex;align-items:center;color:#bdd0e5}
  .hero-mobile-copy .eyebrow{font-size:10px;color:#a9bdd2;letter-spacing:.17em;margin-bottom:20px}
  .mobile-headline{font:400 clamp(39px,7.3vw,60px)/1.06 Newsreader,Georgia,serif;letter-spacing:-.025em}
  .mobile-intro{font-size:15px;color:#c7c6c4;line-height:1.7;margin-top:21px}
  .mobile-primary{display:flex;align-items:center;justify-content:space-between;gap:28px;width:fit-content;min-height:48px;padding:12px 20px;margin-top:26px;background:#496c9f;color:#fff;border-radius:3px;text-decoration:none;font-size:14px}
  .hero-art img{aspect-ratio:4/3;object-fit:cover}
  .hero-link{display:none}
  .section-nav{padding:5px 24px;gap:0}
  .section-nav-brand{display:none}
  .section-nav>div{justify-content:space-between;gap:12px;width:100%}
  .section-nav>div>a{font-size:12px;gap:5px;min-height:44px}
  .section-heading>p,.theme-heading>p{font-size:15px}
  .theme{scroll-margin-top:72px}
  .theme-index{gap:8px 20px;justify-content:flex-start}
  .theme-index a{font-size:11px}
  .gallery-caption>p{font-size:13px}
  .gallery-arrows button{width:44px;height:44px}
  .gallery-arrows>span{font-size:11px}
  .image-zoom{width:38px;height:38px}
  .foundation-steps button{font-size:14px}
  .foundation-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
  .foundation-steps .phase-preview{height:88px}
  .foundation-steps button>.phase-title{font-size:13px;gap:8px}
  .foundation .open-viewer{float:none;margin-top:8px}
  .foundation-description{font-size:13px;padding-top:4px;margin-top:10px}
  .gallery-viewer{width:calc(100vw - 20px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);border-radius:6px}
  .viewer-inner{padding:18px 14px 14px}
  .viewer-header{margin-bottom:14px;gap:12px}
  .viewer-header h2{font-size:25px}
  .viewer-eyebrow{font-size:9px}
  .viewer-stage>img{height:auto;max-height:calc(100vh - 250px);max-height:calc(100dvh - 250px);min-height:120px;aspect-ratio:16/11}
  .viewer-toolbar{flex-wrap:wrap;gap:12px;margin-top:16px;justify-content:space-between}
  .viewer-select{flex-basis:100%;gap:10px}
  .viewer-select label{font-size:11px}
  .viewer-select select{max-width:none;font-size:14px}
  .viewer-kind{display:block;font-size:11px}
  .viewer-hint{display:none}
  .form-pair{grid-template-columns:1fr;gap:18px}
  .contact-preview input,.contact-preview textarea{font-size:16px}
}
@media(max-height:500px) and (min-width:761px){.viewer-stage>img{height:calc(100dvh - 200px);min-height:100px}.viewer-inner{padding:14px 20px}.viewer-hint{display:none}.viewer-header{margin-bottom:10px}.viewer-toolbar{margin-top:12px}}
@media(max-width:420px){.gallery-arrows>span{display:none}.gallery-caption{align-items:flex-start}}
