@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;650;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#09090f;--panel:#14131f;--line:#272636;--text:#f5f3ff;--muted:#a19db4;--purple:#a25af7;--cyan:#38c8e4;--green:#52c8ac}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}h1,h2,h3,h4{font-family:'Space Grotesk',Arial,sans-serif;line-height:1.16;letter-spacing:-.045em;margin:0}p{margin:0 0 20px;color:var(--muted)}h1{font-size:clamp(40px,5.2vw,74px);font-weight:600}h2{font-size:clamp(30px,3.4vw,46px);font-weight:600}h3{font-size:23px}h4{font-size:18px}svg{display:block}header{height:78px;position:sticky;top:0;z-index:10;border-bottom:1px solid #ffffff0b;background:#0a0a10ed;backdrop-filter:blur(18px)}.nav{max-width:1240px;margin:auto;padding:0 28px;height:100%;display:flex;align-items:center;gap:42px}.brand{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk',sans-serif;font-size:19px;font-weight:700;letter-spacing:-.04em}.brand img{width:28px;height:28px}.navlinks{display:flex;gap:26px;font-size:13px;color:var(--muted)}.navlinks a:hover,.navlinks a[aria-current=page]{color:white}.navright{margin-left:auto;display:flex;gap:22px;align-items:center}.language{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:3px 8px;border-radius:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:13px 20px;border-radius:8px;font-size:13px;font-weight:600;border:1px solid transparent;color:white;background:linear-gradient(110deg,#9b35f4,#5e48e9);box-shadow:0 5px 22px #8c37ed25;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px);filter:brightness(1.12)}.btn.small{padding:8px 14px;font-size:12px}.btn.secondary{background:#171622;box-shadow:none;border-color:var(--line)}.btn.arrow:after{content:'↗';font-size:17px}.menu{display:none;background:none;border:1px solid var(--line);color:white;padding:6px 11px;border-radius:5px}main{overflow:hidden}.wrap{max-width:1184px;margin:auto;padding:0 28px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:700;color:var(--cyan);display:flex;align-items:center;gap:8px;margin-bottom:18px}.eyebrow:before{content:'';width:5px;height:5px;background:currentColor;border-radius:50%;box-shadow:0 0 10px currentColor}.eyebrow.purple{color:#b58aef}.pill{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;border:1px solid #9b65df35;background:#9b65df0d;color:#c6abe9;padding:5px 11px;border-radius:100px;margin-bottom:22px}.pill:before{content:'';width:5px;height:5px;background:#9a61f7;border-radius:50%}.gradient{background:linear-gradient(100deg,#b85fff 10%,#7967f6 55%,#2bcae5);background-clip:text;-webkit-background-clip:text;color:transparent}.hero{position:relative;padding:76px 0 60px;text-align:center;background:radial-gradient(ellipse at 50% 0%,#58398724,transparent 65%),radial-gradient(ellipse at 95% 35%,#291d4826,transparent 60%)}.hero h1{max-width:940px;margin:0 auto 22px}.hero .subtitle{max-width:650px;margin:0 auto 28px;font-size:16px;line-height:1.7}.actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.subnote{font-size:11px;color:#706d80;margin-top:14px;margin-bottom:0}.workflow-visual{margin:58px auto 0;background:#0b0c13;border:1px solid #493969;border-radius:13px;box-shadow:0 0 0 6px #ffffff02,0 25px 100px #0005;text-align:left;max-width:1100px;position:relative}.visualbar{display:flex;align-items:center;gap:12px;padding:13px 17px;border-bottom:1px solid var(--line);font:10px monospace;letter-spacing:.05em;color:#8d86a5}.dots{display:flex;gap:5px}.dots i{width:6px;height:6px;border-radius:50%;background:#8869c7}.dots i:nth-child(2){background:#43b9b0}.dots i:nth-child(3){background:#5791d3}.visualbar .right{margin-left:auto;color:var(--cyan)}.diagram{display:grid;grid-template-columns:1fr 1.55fr 1fr;gap:20px;padding:26px;background-image:radial-gradient(#77739720 1px,transparent 1px);background-size:20px 20px}.node{padding:18px;border:1px solid var(--line);border-radius:8px;background:#11111be8;position:relative}.node .tag{font:9px monospace;text-transform:uppercase;letter-spacing:.1em;color:#ad82f4;margin-bottom:10px}.node h4{font-size:16px;letter-spacing:-.025em}.node p{font-size:11px;margin:10px 0;color:#9f9aaf}.file{padding:8px 0;border-bottom:1px solid #ffffff09;font:10px monospace;color:#c9c2da;display:flex;align-items:center;gap:8px}.file:before{content:'↳';color:var(--cyan)}.node.center{background:linear-gradient(135deg,#291a429c,#0e18209c);border-color:#70529a}.node .mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.mini-grid span{border:1px solid #9470bd40;aspect-ratio:1.15;display:grid;place-items:center;background:linear-gradient(140deg,#9a5ee71a,#3ec7df10);border-radius:5px;color:#8b69c5}.mini-grid svg{width:36px;height:36px}.nodefoot{font:9px monospace;color:var(--green);border-top:1px solid var(--line);padding-top:10px}.diagram-caption{font-size:10px;color:#868097;border-top:1px solid var(--line);padding:10px 18px;margin:0}.service-strip{display:flex;justify-content:space-between;gap:20px;padding:28px 0;color:#a7a1b6;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.09em;text-transform:uppercase}.service-strip span{display:flex;align-items:center;gap:10px}.service-strip b{color:#a885ed;font-size:16px}.section{padding:95px 0}.section.alt{background:#101019}.section-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:38px}.section-head h2{max-width:670px}.section-head p{max-width:390px;font-size:14px;margin:0}.intro{max-width:750px;margin-top:22px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:linear-gradient(140deg,#171521,#11121b);border:1px solid var(--line);border-radius:12px;padding:27px}.card .icon{width:37px;height:37px;color:#b37bf6;margin-bottom:24px;border:1px solid #9c6be431;border-radius:8px;display:grid;place-items:center;background:#b271ff09;font-size:18px}.card:nth-child(2) .icon{color:var(--cyan);border-color:#35cce52b}.card:nth-child(3) .icon{color:var(--green);border-color:#52c8ac2b}.card h3{font-size:23px;margin-bottom:13px}.card p{font-size:13px}.list{margin:20px 0;padding:0;list-style:none;font-size:12px;color:#bdb7cc}.list li{padding:7px 0 7px 17px;position:relative}.list li:before{content:'+';position:absolute;left:0;color:#a97af2}.output{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:11px;color:#9f97b2}.output strong{color:#d2c7e7;font-weight:500}.textlink{font-size:12px;color:#b593f1;display:inline-flex;gap:12px}.textlink:hover{color:white}.split{display:grid;grid-template-columns:1fr 1.15fr;gap:75px;align-items:center}.split p{margin-top:20px;font-size:14px}.diagramstack{display:grid;gap:12px}.stackrow{background:#14131f;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;gap:17px;padding:17px 19px}.stepno{font:11px monospace;color:#b683f2}.stackrow strong{font-size:13px;font-weight:500}.stackrow small{margin-left:auto;color:var(--cyan);font:9px monospace;text-transform:uppercase}.example{background:radial-gradient(ellipse at 80% 0%,#4f2e6d29,transparent 60%),#0d0d15}.example-label{display:inline-flex;color:#52ccb5;border:1px solid #52ccb535;padding:4px 9px;border-radius:5px;font:9px monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:17px}.example .section-head h2{max-width:760px}.example-context{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;margin:35px 0 38px}.example-context p{font-size:14px}.inputbox{border:1px solid var(--line);padding:23px;border-radius:9px;background:#11111b}.inputbox h4{font-size:14px}.inputbox .list{margin:10px 0 0}.workflow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stage{padding:24px;background:#15141f;border:1px solid #332841;border-radius:10px}.stage .eyebrow{font-size:9px;margin-bottom:15px}.stage h3{font-size:20px;margin-bottom:15px}.stage p{font-size:13px;margin-bottom:0}.stage .detail{margin-top:18px;border-top:1px solid var(--line);padding-top:14px;color:#9a90ab;font-size:11px}.deliveryline{margin-top:20px;display:flex;gap:12px;flex-wrap:wrap}.chip{font:10px monospace;border:1px solid #393044;padding:6px 10px;border-radius:5px;color:#c4b5db;background:#22182b}.process{display:grid;grid-template-columns:repeat(6,1fr);gap:0;counter-reset:p}.process-item{position:relative;border-top:1px solid #4e3d67;padding:25px 18px 0 0}.process-item:before{content:'';width:7px;height:7px;border-radius:50%;background:#ad72f5;position:absolute;top:-4px}.process-item .num{font:10px monospace;color:#6d617d;margin-bottom:17px}.process-item h4{font-size:15px;line-height:1.45;letter-spacing:-.025em}.process-item p{font-size:11px;margin-top:10px}.delivery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.delivery-card{border-top:1px solid var(--line);padding:22px 0}.delivery-card .code{font:10px monospace;color:var(--cyan);margin-bottom:13px}.delivery-card h3{font-size:20px;margin-bottom:13px}.delivery-card p{font-size:12px}.cta-band{padding:65px 0;background:linear-gradient(110deg,#39205188,#132d3a80);border-top:1px solid #ffffff07;border-bottom:1px solid #ffffff07}.cta-inner{background:#10101d;border:1px solid #80629e39;border-radius:16px;padding:54px;display:flex;gap:40px;justify-content:space-between;align-items:center}.cta-inner h2{font-size:34px;max-width:600px}.cta-inner p{margin:16px 0 0;font-size:14px;max-width:540px}.cta-inner .actions{min-width:200px;flex-direction:column}.email{font-size:13px;color:#aaa1bd;text-align:center;overflow-wrap:anywhere}.email:hover{color:white}footer{padding:50px 0 24px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:40px;margin-bottom:45px}.footer-brand p{font-size:12px;max-width:270px;margin-top:15px}.footer-col h4{font-family:inherit;font-size:12px;letter-spacing:0;margin-bottom:16px}.footer-col a{display:block;font-size:12px;color:#928b9f;margin:8px 0}.footer-col a:hover{color:white}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff0b;padding-top:20px;font-size:10px;color:#777181}.pagehero{padding:70px 0 55px;text-align:center;background:radial-gradient(ellipse at 50% 0%,#4b2d6d35,transparent 70%)}.pagehero h1{max-width:820px;margin:0 auto 23px}.pagehero p{max-width:670px;margin:0 auto;font-size:15px}.filterbar{max-width:850px;margin:30px auto 0;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.filter{border:1px solid var(--line);border-radius:50px;background:#15141e;color:#bcb6cb;font-size:11px;padding:7px 15px}.filter[aria-pressed=true]{background:#8e3fe3;color:white;border-color:#a95df2}.service-catalog .card{display:flex;flex-direction:column}.service-catalog .card .textlink{margin-top:auto}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:12px;min-width:650px}th,td{padding:19px 22px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:#c8bfd7;background:#1d1b2a}td{color:#aaa1b7}td:first-child{color:#e3daef;font-weight:600;width:23%}tr:last-child td{border-bottom:0}.engagement-grid .card{position:relative;display:flex;flex-direction:column}.engagement-grid .card:nth-child(2){border-color:#9e57e5;box-shadow:0 0 35px #9b3bf31a}.engagement-label{color:#ae78eb;letter-spacing:.08em;text-transform:uppercase;font-size:9px;margin-bottom:20px}.engagement-grid h3{font-size:28px;margin-bottom:16px}.engagement-grid .btn{margin-top:auto}.engagement-grid .list{margin-bottom:30px}.scope-note{border:1px solid var(--line);padding:16px 22px;max-width:750px;border-radius:8px;font-size:12px;color:#a299b2;margin:30px auto 0;background:#15131e}.faq{max-width:850px;margin:auto}.faq details{border:1px solid var(--line);border-radius:8px;background:#14131e;margin:12px 0}.faq summary{padding:19px 22px;font-size:13px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px}.faq summary:after{content:'+';color:#ad7bee}.faq details[open] summary:after{content:'−'}.faq details p{font-size:13px;padding:0 22px 20px;margin:0}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.values-grid .card h3{font-size:20px}.aboutquote{font:500 clamp(24px,3vw,40px)/1.4 'Space Grotesk',sans-serif;letter-spacing:-.035em;color:#eee8f8;border-left:2px solid #a360e8;padding-left:30px;margin:0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.about-grid .card h3{margin-bottom:20px}.hidden{display:none!important}.contact-note{font-size:11px!important;color:#7f748e!important;margin-top:15px!important}.skip{position:absolute;left:15px;top:-100px;background:#a866ff;padding:10px;z-index:99}.skip:focus{top:10px}.scrolltop{position:fixed;right:22px;bottom:22px;width:34px;height:34px;border:1px solid var(--line);background:#161320;color:white;border-radius:8px;opacity:0;pointer-events:none;transition:.2s}.scrolltop.show{opacity:1;pointer-events:auto}::selection{background:#9c56e8;color:white}
@media(min-width:1600px){.wrap{max-width:1280px}.nav{max-width:1336px}.hero{padding-top:95px}}@media(max-width:900px){.nav{gap:24px}.navlinks{gap:16px}.grid3,.workflow-grid{grid-template-columns:1fr 1fr}.grid3 .card:last-child{grid-column:1/-1}.diagram{gap:12px;padding:18px}.node{padding:13px}.split{gap:35px}.process{grid-template-columns:repeat(3,1fr);row-gap:28px}.delivery-grid{grid-template-columns:1fr 1fr}.cta-inner{padding:35px}.footer-top{grid-template-columns:2fr 1fr 1fr}.footer-top .footer-col:last-child{grid-column:1/-1}.values-grid{grid-template-columns:1fr}.example-context{gap:30px}.card{padding:22px}}
@media(max-width:640px){body{font-size:14px}.wrap{padding:0 21px}.nav{padding:0 20px;gap:12px}header{height:68px}.brand{font-size:17px}.brand img{width:24px}.navright{gap:12px}.language{display:none}.navright>.btn{display:none}.menu{display:block}.navlinks{display:none;position:absolute;top:68px;left:0;right:0;padding:20px;background:#111019;border-bottom:1px solid var(--line);flex-direction:column;gap:18px}.navlinks.open{display:flex}.hero{padding:50px 0 35px}.hero h1{font-size:43px}.hero .subtitle{font-size:14px}.pill{font-size:8px}.workflow-visual{margin-top:35px}.visualbar{font-size:8px;padding:11px}.visualbar .right{display:none}.diagram{grid-template-columns:1fr;padding:16px}.node.center .mini-grid{grid-template-columns:repeat(3,1fr)}.node .file{display:inline-flex;margin-right:14px}.node .mini-grid span{aspect-ratio:1.8}.node{padding:15px}.node p{margin:8px 0}.nodefoot{padding-top:8px}.service-strip{display:grid;grid-template-columns:1fr 1fr;font-size:9px;gap:14px;padding:20px 0}.section{padding:62px 0}.section-head{display:block;margin-bottom:28px}.section-head p{margin-top:18px}.grid3,.workflow-grid,.split,.example-context,.about-grid{grid-template-columns:1fr}.grid3 .card:last-child{grid-column:auto}.split{gap:28px}.card{padding:25px}.example-context{gap:20px}.process{grid-template-columns:1fr 1fr}.delivery-grid{gap:20px}.cta-band{padding:35px 0}.cta-inner{padding:28px;display:block}.cta-inner h2{font-size:29px}.cta-inner .actions{margin-top:25px;align-items:start}.cta-inner .email{text-align:left}.footer-top{grid-template-columns:1fr 1fr;gap:25px}.footer-brand{grid-column:1/-1}.footer-top .footer-col:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}.pagehero{padding:50px 0 40px}.pagehero h1{font-size:40px}.pagehero p{font-size:14px}.aboutquote{padding-left:20px}.section-head h2{max-width:100%}.node h4{font-size:16px}.diagram-caption{font-size:9px}.footer-col a{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Comfortable reading and project enquiry */
body{font-size:17px}p,.card p,.split p,.section-head p,.stage p,.delivery-card p,.pagehero p,.hero .subtitle{font-size:17px;line-height:1.75}.list,.output,.detail,.scope-note,td,.faq summary,.faq details p{font-size:16px;line-height:1.65}.btn,.textlink,.filter,.navlinks a{font-size:14px}.footer-col a,.footer-col h4,.footer-brand p{font-size:14px}.subnote,.contact-note,.diagram-caption,.footer-bottom{font-size:12px!important}.process-item p{font-size:15px}.eyebrow,.pill,.engagement-label{font-size:11px}.contact-dialog{box-sizing:border-box;width:min(680px,calc(100% - 32px));max-height:90dvh;overflow:auto;background:#15131f;color:#f1eaf9;border:1px solid #775293;border-radius:18px;padding:38px;box-shadow:0 30px 100px #0009}.contact-dialog::backdrop{background:#07060cce;backdrop-filter:blur(8px)}.contact-dialog h2{font-size:32px;margin:16px 0}.contact-dialog>p{color:#b6adc5}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#eee;font-size:30px;cursor:pointer}.contact-dialog label{display:block;font-size:14px;color:#d5cbdf;margin:18px 0}.contact-dialog input,.contact-dialog textarea{display:block;box-sizing:border-box;width:100%;margin-top:8px;padding:12px 14px;border:1px solid #494052;border-radius:8px;background:#0d0b13;color:#fff;font:inherit;font-size:16px}.contact-dialog textarea{resize:vertical}.contact-dialog input:focus,.contact-dialog textarea:focus{outline:2px solid #a25af7;outline-offset:2px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-note{font-size:13px!important;color:#a89cb7;margin-bottom:0}.scroll-reveal{opacity:.2;transform:translateY(24px);transition:opacity .8s,transform .8s}.scroll-reveal.is-visible{opacity:1;transform:none}.process{position:relative}.process:before{content:'';position:absolute;top:21px;left:3%;right:3%;height:2px;background:linear-gradient(90deg,#9d55f2,#43c8de);transform:scaleX(0);transform-origin:left;transition:transform 1.5s .15s;pointer-events:none}.process.is-visible:before{transform:scaleX(1)}.process-item{position:relative}.process-item .num{position:relative;background:#15131f;z-index:1}.process.is-visible .process-item{animation:flow-enter .6s both}.process.is-visible .process-item:nth-child(2){animation-delay:.15s}.process.is-visible .process-item:nth-child(3){animation-delay:.3s}.process.is-visible .process-item:nth-child(4){animation-delay:.45s}.process.is-visible .process-item:nth-child(5){animation-delay:.6s}.process.is-visible .process-item:nth-child(6){animation-delay:.75s}@keyframes flow-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@media(max-width:640px){body{font-size:16px}p,.card p,.split p,.section-head p,.stage p,.delivery-card p,.pagehero p,.hero .subtitle{font-size:16px}.contact-dialog{padding:28px 22px}.contact-dialog h2{font-size:27px}.contact-fields{grid-template-columns:1fr;gap:0}.process:before{display:none}}@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none}.process:before{transform:scaleX(1)}}
/* Game imagery and editorial content */
.editorial-visual{margin:42px 0 32px;border:1px solid #67518366;border-radius:16px;overflow:hidden;background:#14131f;text-align:left}.editorial-visual img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.editorial-visual figcaption{padding:12px 18px;color:#a8a1b8;font-size:13px}.hero .world-visual{max-width:1100px;margin:45px auto 0}.game-use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.workflow-deep{max-width:850px;margin:auto}.workflow-detail{padding:38px 0 38px 28px;border-left:2px solid #7752a6;position:relative}.workflow-detail:before{content:'';position:absolute;left:-7px;top:47px;width:12px;height:12px;border-radius:50%;background:#bb87ff}.workflow-detail h2{font-size:32px;margin-bottom:20px}.workflow-detail p{font-size:18px}.contact-note{font-size:13px!important}@media(max-width:700px){.game-use-grid{grid-template-columns:1fr}.editorial-visual{margin-top:25px}.editorial-visual figcaption{font-size:12px}.workflow-detail{padding-left:22px}}
