/* Hosting Rakyat / Cloud Atlas + Play Lab. No remote fonts or runtime assets. */
.header-inner{min-height:84px}.brand-logo{width:46px;height:46px}.nav{gap:20px}
.brand-hero{position:relative;isolation:isolate;overflow:hidden;padding:54px 0 22px;background:#e9f6ff;border-bottom:1px solid var(--line)}
.hero-atmosphere{position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 85% 6%,#b7e4ff 0,transparent 50%),radial-gradient(ellipse at 0 90%,#d7efff 0,transparent 60%)}
.hero-atmosphere:after{content:'';position:absolute;inset:0;background-image:radial-gradient(#1d709b24 .9px,transparent .9px);background-size:26px 26px;mask-image:linear-gradient(90deg,transparent,#000)}
.orbit{position:absolute;right:-70px;top:-200px;width:620px;height:620px;border:1px solid #69b8e650;border-radius:50%;transform:rotate(-20deg);animation:orbit-drift 18s ease-in-out infinite}
.orbit-two{width:820px;height:820px;top:-300px;right:-170px;animation-direction:reverse}
.hero-particles{position:absolute;inset:0;background-image:radial-gradient(circle at 12% 20%,#3f90c8 2px,transparent 3px),radial-gradient(circle at 74% 12%,#3f90c8 3px,transparent 4px),radial-gradient(circle at 92% 77%,#3f90c8 2px,transparent 3px),radial-gradient(circle at 54% 44%,#3f90c8 2px,transparent 3px);opacity:.5;animation:particle-drift 9s ease-in-out infinite}
.hero-heading{position:relative;padding-bottom:34px}.brand-hero .eyebrow{font-size:10px;margin-bottom:22px;letter-spacing:.08em}.brand-hero h1{position:relative;font-size:clamp(80px,10.5vw,151px);line-height:.98;letter-spacing:-.065em;white-space:nowrap;z-index:1;font-weight:700}
.brand-hero h1>span{display:inline;animation:none;width:auto}.brand-hero h1>span:first-child{color:var(--action)}.brand-hero h1>span.brand-period{color:var(--sky)}
.brand-hero .hero-description{font-size:clamp(16px,1.5vw,21px);margin-top:22px;max-width:640px;color:#345b72;position:relative;z-index:1}
.hero-toys{position:absolute;right:0;bottom:18px;width:200px;height:96px;pointer-events:none;transform:translate3d(var(--parallax-x,0px),var(--parallax-y,0px),0)}
.toy{position:absolute;display:grid;place-items:center;animation:toy-float 6s ease-in-out infinite}.toy-ball{width:75px;height:75px;right:46px;top:-5px;transform:rotate(9deg);border:4px solid #fff;border-radius:23px;overflow:hidden;box-shadow:0 8px 24px #07598520}.toy-ball img{width:100%;height:100%;object-fit:cover}
.toy-game{right:126px;top:30px;width:50px;height:50px;color:var(--action);background:white;border:1px solid #a6d5ef;border-radius:16px;animation-delay:-2s;rotate:-14deg}.toy-game .icon{width:29px;height:29px}.toy-cloud{right:0;top:12px;color:#fff;filter:drop-shadow(0 3px 0 #79bce5);animation-delay:-4s}.toy-cloud .icon{width:56px;height:56px;fill:#fff;stroke:#fff}.toy-spark{right:5px;top:-22px;font:32px 'Bricolage Grotesque';color:var(--action);animation-delay:-1s}
.pillar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;position:relative}.pillar{position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:22px;border:1px solid #8cbdda;border-radius:20px;padding:28px 30px;background:#fff;box-shadow:0 5px 0 #c9e6f7;transition:transform .25s,box-shadow .25s,border-color .25s;min-height:212px}
.pillar-game{background:var(--ink);border-color:var(--ink);color:white}.pillar-icon{width:46px;height:46px;border:1px solid #c8deec;border-radius:13px;display:grid;place-items:center;flex-shrink:0;background:#e8f5ff;color:var(--action)}.pillar-game .pillar-icon{background:#ffffff10;border-color:#ffffff40;color:#99dbff}
.pillar-index{font-size:9px;color:#456579;display:block;margin-bottom:9px}.pillar-game .pillar-index{color:#a6d7f5}.pillar h2{font-size:clamp(26px,3vw,42px);letter-spacing:-.04em;line-height:1.08}.pillar p{font-size:14px;margin-top:10px;position:relative;z-index:1;color:#456579}.pillar-game p{color:#c6dfef}
.pillar-cta{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:600;margin-top:20px;padding-bottom:2px;border-bottom:1px solid #79b7db}.pillar-cta .icon{width:17px;height:17px;transition:transform .25s}.pillar-art{position:absolute;right:17px;bottom:12px;opacity:.07;rotate:-15deg;pointer-events:none}.pillar-art .icon{width:125px;height:125px}.pillar:hover{transform:translateY(-5px);box-shadow:0 10px 0 #bddff3;border-color:var(--action)}.pillar:hover .pillar-cta .icon{transform:translate(3px,-3px)}.pillar:active,.button:active{transform:translateY(2px) scale(.99)}.pillar-game:focus-visible{outline-offset:5px;outline-color:var(--action)}
.brand-hero .hero-bottom{margin-top:30px;padding-top:16px}.brand-hero .hero-bottom .mono{font-size:9px}.brand-hero .motion-toggle{background:#ffffff80}.ticker{padding:13px 0}.ticker span{font-size:10px}
.studio-numbers{display:flex;align-items:center;gap:48px;padding-block:26px;border-bottom:1px solid var(--line)}.studio-numbers p{display:flex;align-items:center;gap:14px;max-width:250px;font-size:12px;color:var(--muted)}.studio-numbers strong{font:650 47px/1 'Bricolage Grotesque';color:var(--action);letter-spacing:-.05em;min-width:1.25em}.studio-numbers>a{margin-left:auto;font-size:10px}
.card-visual.video-facade{border:0;border-radius:0}.card-visual.video-facade img{filter:none}.trailer-pill{position:absolute;bottom:14px;right:14px;display:flex;gap:7px;align-items:center;min-height:38px;padding:8px 12px;background:#fff;color:var(--ink);border-radius:30px;font-size:11px;font-weight:600;box-shadow:0 2px 12px #082f4930;transition:background .2s,transform .2s}.trailer-pill .icon{width:14px;height:14px;fill:currentColor}.card-visual:hover .trailer-pill{background:#d8f1ff;transform:scale(1.04)}.card-preview .video-shell{border-radius:0;aspect-ratio:16/9;max-width:none}.card-preview .video-close{font-size:11px;min-height:38px}.coming-soon{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:10px 12px;background:var(--soft);color:var(--action);border:1px solid #aacfe5;border-radius:8px;font-size:11px;font-weight:600}.coming-soon:before{content:'';width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--action)}
.catalog-hero{padding-block:65px 40px}.catalog-hero h1{font-size:clamp(50px,6vw,90px)}.catalog-hero>p:not(.eyebrow){margin-top:24px;color:var(--muted);max-width:600px}.catalog-meta{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}body[data-page=catalog] #games{padding-top:30px}body[data-page=catalog] #games .section-top{display:none}.developer-credit{margin-top:18px!important;font-size:12px!important;color:var(--muted)}
.download-section{padding-block:60px 80px}.download-main{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:70px;align-items:center}.download-main .eyebrow{display:flex;gap:8px;align-items:center}.download-heading{display:flex;gap:24px;align-items:center}.download-heading img{width:100px;height:100px;border-radius:25px;box-shadow:0 7px 0 var(--soft)}.download-heading h1{font-size:clamp(38px,5vw,68px);margin-top:10px}.download-heading .mono{color:var(--action)}.download-intro{color:var(--muted);font-size:18px;margin-top:28px}.release-meta{display:flex;gap:32px;flex-wrap:wrap;margin-block:28px}.release-meta p{font-size:11px;color:var(--muted)}.release-meta strong{display:block;font:600 22px 'Bricolage Grotesque';color:var(--ink);margin-top:5px}.apk-download{font-size:16px;padding:18px 30px;min-height:58px}.download-note{font-size:12px;color:var(--muted);margin-top:18px;max-width:620px}.download-qr{background:white;border:1px solid var(--line);border-radius:20px;padding:22px;text-align:center;box-shadow:8px 8px 0 var(--soft)}.download-qr img{width:230px;height:auto;image-rendering:pixelated}.download-qr p{font-size:12px;margin-top:16px;font-weight:600}.download-qr .text-link{font-size:11px;margin-top:18px}.install-panel{margin-top:50px;padding:32px;background:var(--soft);border:1px solid var(--line);border-radius:18px}.install-panel h2{font-size:30px}.install-panel ol{margin:25px 0 0;padding-left:24px;display:grid;gap:16px;max-width:850px}.install-panel li{padding-left:8px;font-size:14px}.install-panel li::marker{font-weight:700;color:var(--action)}.checksum{margin-top:26px;font-size:12px;color:var(--muted)}.checksum summary{cursor:pointer;min-height:44px;align-content:center}.checksum code{display:block;overflow-wrap:anywhere;padding:16px;background:white;border:1px solid var(--line);border-radius:8px}.checksum p{margin-top:8px}
/* Reveals are opt-in after JS initializes: static and reduced-motion pages stay visible. */
html[data-motion=on] .reveal-pending{opacity:0;transform:translateY(22px)}
.reveal-item{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.games-layout>.reveal-item:nth-child(3n+2),.pricing-grid>.reveal-item:nth-child(3n+2){--reveal-delay:75ms}.games-layout>.reveal-item:nth-child(3n+3),.pricing-grid>.reveal-item:nth-child(3n+3){--reveal-delay:150ms}
html[data-motion=off] .reveal-pending{opacity:1;transform:none}.service-row,.pricing-card,.gallery-button{transition:transform .25s,box-shadow .25s}.service-row:hover{transform:translateX(5px)}.pricing-card:hover{box-shadow:0 12px 32px #07598515}.gallery-button:active{transform:scale(.98)}
@keyframes toy-float{0%,100%{translate:0 0}50%{translate:0 -9px;rotate:3deg}}@keyframes particle-drift{0%,100%{translate:0 0}50%{translate:7px -10px;opacity:.75}}@keyframes orbit-drift{0%,100%{translate:0 0;scale:1}50%{translate:12px 10px;scale:1.04}}
@media(min-width:761px){.pillar{animation:pillar-enter .8s cubic-bezier(.2,.7,.2,1) both}.pillar-hosting{animation-delay:.12s}}@keyframes pillar-enter{from{opacity:.5;translate:0 14px}to{opacity:1;translate:0 0}}
@media(max-width:1100px){.brand-hero{padding-top:40px}.brand-hero h1{font-size:10.2vw}.hero-toys{scale:.8;transform-origin:right bottom}.pillar{padding:24px;gap:16px}.pillar h2{font-size:32px}.pillar p{font-size:13px}.download-main{gap:35px}.studio-numbers{gap:30px}}
@media(max-width:760px){.header-inner{padding-top:12px;gap:10px}.header-inner .brand-logo{width:36px;height:36px}.header-inner .brand-name{font-size:18px}.header-inner .brand-name small{font-size:6px}.header .nav{display:flex;gap:14px;justify-content:space-between;padding-block:8px;border-top:1px solid var(--line);overflow-x:auto}.header .nav-link{font-size:10px;min-height:30px;gap:4px;flex-shrink:0}.header .nav-link:last-child{background:none;border-radius:0;grid-column:auto}.header .nav-link .icon{width:13px;height:13px}.header .nav-link:nth-child(3),.header .nav-link:nth-child(4){display:none}.language button{min-height:32px;min-width:32px}.brand-hero{padding:30px 0 18px}.brand-hero .eyebrow{font-size:7px;margin-bottom:18px;gap:7px;letter-spacing:.04em}.hero-heading{padding-bottom:23px}.brand-hero h1{font-size:clamp(64px,16.2vw,116px);white-space:normal;line-height:.94;max-width:650px;letter-spacing:-.06em}.brand-hero h1>span:first-child{display:block}.brand-hero h1>span.brand-period{position:absolute;bottom:0;left:3.06em}.brand-hero .hero-description{font-size:14px;margin-top:18px;max-width:270px;line-height:1.5}.hero-toys{right:0;top:50px;bottom:auto;scale:.7;transform-origin:right top;width:150px}.toy-game{display:none}.toy-ball{right:40px;top:0}.toy-cloud{right:0;top:60px}.toy-spark{right:7px;top:0}.pillar-grid{grid-template-columns:1fr;gap:13px}.pillar{padding:18px;gap:14px;border-radius:15px;min-height:130px;box-shadow:0 3px 0 #c9e6f7}.pillar-icon{width:38px;height:38px;border-radius:11px}.pillar-icon .icon{width:21px;height:21px}.pillar-index{font-size:7px;margin-bottom:5px}.pillar h2{font-size:27px}.pillar p{font-size:12px;margin-top:6px}.pillar-cta{font-size:11px;margin-top:11px;gap:10px}.pillar-cta .icon{width:14px;height:14px}.pillar-art{right:7px;bottom:6px}.pillar-art .icon{width:85px;height:85px}.brand-hero .hero-bottom{margin-top:21px;padding-top:13px;gap:8px}.brand-hero .hero-bottom .mono{font-size:7px;max-width:210px}.brand-hero .motion-toggle{font-size:8px;padding:8px 10px;min-height:34px}.studio-numbers{padding-block:22px;gap:24px;flex-wrap:wrap}.studio-numbers p{font-size:10px;max-width:145px;gap:10px;flex:1}.studio-numbers strong{font-size:37px}.studio-numbers>a{display:none}.catalog-hero{padding-block:40px 24px}.catalog-hero h1{font-size:49px}.catalog-hero>p:not(.eyebrow){font-size:14px}.catalog-meta .mono{font-size:9px}.download-section{padding-block:36px 55px}.download-main{grid-template-columns:1fr;gap:32px}.download-heading{gap:15px}.download-heading img{width:75px;height:75px;border-radius:19px}.download-heading h1{font-size:38px}.download-intro{font-size:16px}.release-meta{gap:25px}.release-meta strong{font-size:20px}.apk-download{width:100%;font-size:15px}.download-qr{max-width:310px;margin:auto}.download-qr img{width:220px}.install-panel{padding:24px;margin-top:35px}.install-panel h2{font-size:28px}.install-panel ol{padding-left:19px}.install-panel li{font-size:13px}.gallery-grid.portrait{grid-template-columns:repeat(2,minmax(0,1fr))}.reveal-pending{--reveal-delay:0ms!important}}
@media(max-width:360px){:root{--space:18px}.brand-hero{padding-top:24px}.brand-hero h1{font-size:62px}.hero-toys{scale:.58}.pillar{padding:15px;gap:11px;min-height:126px}.pillar h2{font-size:25px}.pillar p{font-size:11px}.brand-hero .hero-description{font-size:13px}.pillar-icon{width:33px;height:33px}.brand-hero .hero-bottom .mono{max-width:165px;font-size:6px}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1!important;transform:none!important}.hero-toys{transform:none!important}.pillar:hover,.service-row:hover{transform:none}.toy,.hero-particles,.orbit{animation:none!important}}
@media(max-width:760px) and (max-height:740px){.brand-hero{padding-top:22px}.brand-hero .eyebrow{margin-bottom:14px}.brand-hero h1{font-size:62px}.brand-hero .hero-description{margin-top:14px;line-height:1.4}.hero-heading{padding-bottom:18px}.pillar{padding:15px 16px;min-height:122px}.pillar h2{font-size:25px}.pillar p{font-size:11px}.pillar-cta{margin-top:9px}.hero-toys{top:35px;scale:.6}}

.reveal-item{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1),box-shadow .25s;transition-delay:var(--reveal-delay,0ms)}
.brand-hero[data-visible=false] .toy,.brand-hero[data-visible=false] .orbit,.brand-hero[data-visible=false] .hero-particles,.ticker[data-visible=false] .ticker-track{animation-play-state:paused}
.brand-hero h1>span:nth-child(n){animation:none;transform:none}
/* Keep ambient movement on the compositor; the large rings stay still on phones. */
@keyframes toy-float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-9px,0)}}
@keyframes particle-drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(7px,-10px,0)}}
@keyframes orbit-drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(12px,10px,0)}}
.toy-ball{rotate:9deg}.toy,.hero-particles,.ticker-track{will-change:transform}
@media(max-width:760px){.orbit{animation:none}}
