/* One continuous studio canvas. Artwork, type and space carry the chapters. */
.journey-stage,.game-scene,.shop-section,.android-section,.ios-section,.ocean-stage{background:#050a0e}
.journey-top .steam-brand{font-size:1.15rem;letter-spacing:0;font-weight:500;gap:10px}
.journey-top .steam-brand>.service-icon{width:27px;height:27px}
.journey-top h2{font-size:1rem;font-weight:400;letter-spacing:0;color:#8c9da8;margin-top:12px}
.motion .journey-top{top:130px}
.journey-count{font-size:.85rem;color:#78909f}
.game-scene{min-height:700px;align-items:center;overflow:hidden;padding:130px 0 100px}
.motion .game-scene{padding:180px 0 100px;align-items:center}
.scene-content,.motion .scene-content{width:32vw;margin-left:max(40px,calc((100vw - 1520px)/2));padding:0}
.scene-content .eyebrow{font-size:.78rem;letter-spacing:.12em;color:#9caeb8}
.scene-content h3{font-size:clamp(3.8rem,6.2vw,8.8rem);font-weight:800;letter-spacing:-.055em;line-height:.94;margin:22px 0 30px;max-width:100%;overflow-wrap:normal}
.scene-content .scene-description{font-size:1rem;line-height:1.7;max-width:32ch;color:#bdc9cf;margin-bottom:30px}
.game-open{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:#d7f3f8;color:#102029;border:0;border-radius:0;padding:14px 18px;font-size:.92rem;font-weight:600;min-height:50px;transition:background .2s}
.game-open:hover{background:#f1fcff}
.open-symbol{font-weight:400;font-size:1.6rem;line-height:1}
.scene-release{display:block;font-size:.8rem;color:#889da7;margin-top:15px}
.scene-art,.motion .scene-art,.reduced-motion .scene-art{position:absolute;z-index:0;left:auto;right:3vw;top:52%;width:56vw;max-width:1400px;margin:0;border:0;border-radius:0;box-shadow:none;background:none;opacity:1;overflow:visible;transform:translateY(-50%)}
.scene-art img{width:100%;height:auto;aspect-ratio:16/9;max-height:calc(100svh - 310px);object-fit:contain;border:0;border-radius:0;filter:none}
.scene-art figcaption{font-size:.75rem;letter-spacing:.1em;color:#748891;margin-top:13px;text-align:right}
.journey-nav{gap:25px}
.motion .journey-nav{bottom:22px}
.game-dots{gap:26px;flex-wrap:wrap}
.game-dots button{font-size:.8rem;letter-spacing:.05em;font-weight:500;padding:10px 0;color:#7c919d;min-height:40px}
.game-dots button[aria-pressed=true]{color:#f4f8fa}
.game-dots button::after{display:none}
.journey-buttons button{border:0;background:#102029;color:#cadde5}
.journey-progress{height:1px;background:#152027}
.journey-progress span{background:#a9d3df}
.shop-section{--accent:#d7f3f8;border:0;background:#050a0e;clip-path:none;padding:110px 0 90px;margin-block:0}
.shop-section .section-heading{align-items:flex-end;margin-bottom:55px}
.shop-section h2{font-size:clamp(3rem,5.7vw,6rem);font-weight:600;letter-spacing:-.04em}
.shop-section .eyebrow{color:#8ba0aa;font-size:.78rem;letter-spacing:.12em;margin-bottom:20px}
.shop-section .heading-aside{max-width:340px}
.shop-section .heading-aside p{font-size:1rem;color:#a6b6c0;margin-bottom:19px}
.shop-section .store-button{background:#d7f3f8;color:#102029;border:0;border-radius:0;min-height:50px;font-size:.9rem;padding-inline:24px}
.shop-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:46px 28px;perspective:none;padding:0;align-items:start}
.shop-card{grid-column:span 2;transform:none!important;transform-style:flat;will-change:auto}
.shop-card:nth-child(-n+2){grid-column:span 3}
.shop-card:nth-child(n+4){grid-column:span 2}
.shop-cover{border:0;outline:0;box-shadow:none;border-radius:0;aspect-ratio:920/430;background:transparent;overflow:hidden}
.shop-cover img{height:auto;aspect-ratio:920/430;object-fit:contain;filter:none;transition:opacity .2s}
.shop-card:hover .shop-cover{outline:0}
.shop-card:hover .shop-cover img{transform:none;opacity:.85}
.shop-sale{position:absolute;bottom:0;right:0;background:#050a0ee6;color:#e3eef3;padding:7px 11px;font-size:.8rem;font-weight:500}
.shop-caption{display:flex;gap:15px;justify-content:space-between;align-items:baseline;margin-top:17px}
.shop-caption h3{font-size:1.15rem;letter-spacing:.005em;margin:0;font-weight:600}
.shop-caption strong{font-size:1.1rem;white-space:nowrap;font-weight:500;color:#e9f3f7}
.shop-card>p{font-size:.8rem;color:#849aa6;margin-top:4px}
.shop-foot{border:0;padding-top:42px;font-size:.75rem;color:#788c97}
.shop-foot a{color:#b7ccd6;font-size:.83rem}
/* The dive is a single bounded image, not an enlarged texture behind a UI. */
.ocean-stage{isolation:isolate;min-height:850px}
.ocean-window{position:absolute;z-index:-3;width:min(1672px,100%);height:76%;left:50%;top:15%;transform:translateX(-50%);overflow:hidden}
.ocean-window img{width:100%;height:100%;object-fit:cover;object-position:center top;transform:none!important;filter:none}
.ocean-shade{background:linear-gradient(90deg,#050a0ef0,transparent 67%),linear-gradient(0deg,#050a0e,transparent 17%,transparent 88%,#050a0e)}
.ocean-surface h2,.ocean-depth h2{font-size:clamp(3.4rem,5.7vw,6.4rem);font-weight:600;letter-spacing:-.035em}
.ocean-depth h2 span{color:inherit}
.ocean-surface .eyebrow,.ocean-depth .eyebrow{color:#b7cbd5;font-size:.78rem;letter-spacing:.12em}
.depth-meter{display:none}
.world-art-credit{font-size:.75rem;letter-spacing:.07em;color:#7c919c;right:max(30px,calc((100vw - 1280px)/2));bottom:27px}
.android-section{--accent:#d7f3f8;border:0;padding-block:100px 90px}
.android-section .service-brand,.apple-brand{color:#e5f0f5;font-size:1.3rem;font-weight:500;gap:12px;letter-spacing:0}
.android-section .service-brand>.service-icon,.apple-brand>.service-icon{width:30px;height:30px;filter:none}
.android-section h2{font-size:clamp(3rem,5.7vw,6rem);font-weight:600;letter-spacing:-.04em;margin-top:25px}
.android-section .section-heading{margin-bottom:38px}
.android-section .heading-aside p{color:#9aafb9;font-size:1rem}
.android-section .store-badge,.ios-section .store-badge{border:0;border-radius:0;background:#d7f3f8;color:#102029;font-size:1.25rem;padding:13px 20px;gap:13px}
.android-section .store-badge .service-icon,.ios-section .store-badge .service-icon{width:27px;height:27px;filter:brightness(0)}
.android-section .store-badge small,.ios-section .store-badge small{font-size:.65rem;letter-spacing:.05em}
.catalog-controls{border:0;margin-bottom:35px}
.catalog-controls>span{color:#7f939d}
.catalog-filters{gap:25px}
.catalog-filters button{font-size:.9rem;border:0;padding:10px 0;color:#7f939d}
.catalog-filters button.active{color:#e5f0f5;border:0}
.android-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:40px 22px;background:none;border:0}
.android-app{display:flex;flex-direction:column;align-items:flex-start;padding:0;gap:15px;background:transparent;border:0;transition:opacity .2s}
.android-app:hover{background:none;opacity:.75}
.android-app>img{width:78px;height:78px;border-radius:18px;filter:none;box-shadow:none}
.android-app h3{font-size:.93rem;font-weight:500;line-height:1.4;max-width:17ch}
.android-app span{display:none}
.catalog-foot{padding-top:40px;color:#8ea4af;font-size:.85rem}
.catalog-foot>p{max-width:none}
.ios-section{border:0;padding-block:105px 120px}
.ios-layout{gap:90px}
.ios-copy .release-label{font-size:.75rem;letter-spacing:.1em;color:#7e98a5;margin-top:35px}
.ios-copy h2{font-size:clamp(3rem,4.7vw,5.3rem);font-weight:600;letter-spacing:-.04em;line-height:1.05}
.ios-copy>p:not(.release-label){max-width:32ch;color:#a6b8c1}
.ios-next{border:0;margin-top:32px;padding-top:0;gap:15px}
.ios-next>img{border-radius:0}
.ios-next span{letter-spacing:.07em;color:#8ca7b6}
.ios-screens{height:auto;display:flex;align-items:flex-start;gap:20px;perspective:none}
.ios-screens img,.ios-screens:hover .screen-front,.reduced-motion .ios-screens img{position:static;width:calc(50% - 10px);height:auto;transform:none!important;opacity:1;box-shadow:none;border-radius:14px;object-fit:contain}
.ios-screens .screen-back{order:2;margin-top:60px}
.reduced-motion .scene-art{transform:translateY(-50%)!important}
@media(min-width:2000px){.scene-content,.motion .scene-content{margin-left:6vw;width:31vw}.scene-art,.motion .scene-art{right:4vw;width:55vw}}
@media(max-width:1100px){
 .game-dots{gap:18px}.game-dots button{font-size:.75rem;letter-spacing:0}
 .scene-content,.motion .scene-content{margin-left:36px;width:33vw}
 .scene-content h3{font-size:6.1vw}.scene-content .scene-description{font-size:.95rem}
 .scene-art,.motion .scene-art{width:55vw;right:3vw}
 .android-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:35px 20px}
 .ios-layout{gap:40px}
}
@media(max-width:760px){
 .motion .journey-top{top:98px}.journey-top{padding-top:32px}.journey-top h2{font-size:.85rem;margin-top:8px;max-width:none}
 .journey-count{top:2px}.journey-count b{font-size:1rem}
 .game-scene,.motion .game-scene{min-height:760px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:24px;padding:170px 20px 120px}
 .motion .game-scene{min-height:0}
 .scene-art,.motion .scene-art,.reduced-motion .scene-art{position:static;order:0;width:100%;max-width:480px;margin:0 auto;transform:none!important;opacity:1}
 .scene-art img{height:auto;max-height:26svh;aspect-ratio:16/9;object-fit:contain}
 .scene-art figcaption{display:none}
 .scene-content,.motion .scene-content{order:1;width:100%;margin:0;padding:0}
 .scene-content .eyebrow{font-size:.7rem;letter-spacing:.08em}
 .scene-content h3{font-size:clamp(2.3rem,10vw,4rem);line-height:1;margin:9px 0 13px}
 .scene-content .scene-description{font-size:.9rem;line-height:1.5;max-width:44ch;margin-bottom:18px}
 .game-open{font-size:.85rem;min-height:44px;padding:10px 15px;gap:24px}
 .scene-release{font-size:.75rem;margin-top:10px}
 .motion .journey-nav{bottom:13px;padding-block:8px}.journey-nav{gap:10px}
 .game-dots{gap:4px 14px;max-width:calc(100% - 80px)}.game-dots button{font-size:.75rem;min-height:30px;padding:4px 0}
 .journey-buttons{gap:7px}.journey-buttons button{width:29px;height:29px}
 .shop-section{width:calc(100% - 40px);padding:70px 0;margin:0 auto}
 .shop-section .section-heading{margin-bottom:30px}.shop-section h2{font-size:3rem}.shop-section .heading-aside{margin-top:22px}
 .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}
 .shop-card,.shop-card:nth-child(-n+2),.shop-card:nth-child(n+4){grid-column:span 1}
 .shop-card:first-child{grid-column:span 2}
 .shop-caption{gap:6px;flex-wrap:wrap;margin-top:13px}.shop-caption h3{font-size:.93rem}.shop-caption strong{font-size:.95rem}.shop-card>p{font-size:.75rem;line-height:1.45}
 .shop-sale{font-size:.7rem;padding:4px 7px}.shop-foot{padding-top:30px;font-size:.75rem}
 .ocean-window{width:100%;height:65%;top:18%}.ocean-window img{object-position:65% top}
 .ocean-stage{min-height:760px}.ocean-shade{background:linear-gradient(90deg,#050a0ec9,transparent),linear-gradient(0deg,#050a0e,transparent 35%,transparent 80%,#050a0e)}
 .ocean-surface h2,.ocean-depth h2{font-size:3.5rem}.ocean-depth>p:not(.eyebrow),.ocean-surface>p:not(.eyebrow){font-size:1rem;max-width:29ch}
 .world-art-credit{right:20px;bottom:20px;font-size:.7rem}
 .android-section,.ios-section{padding-block:70px}
 .android-section h2{font-size:3.2rem;margin-top:20px}
 .android-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 20px}
 .android-app{gap:11px;padding:0}.android-app>img{width:64px;height:64px;border-radius:15px}.android-app h3{font-size:.85rem}
 .catalog-controls{margin-bottom:25px}.catalog-filters{gap:25px}.catalog-filters button{font-size:.83rem}
 .catalog-foot{font-size:.8rem;padding-top:30px}
 .ios-layout{gap:40px}.ios-copy h2{font-size:3.2rem}.ios-screens{height:auto;max-width:410px;width:100%;gap:18px}.ios-screens img{width:calc(50% - 9px);height:auto}.ios-screens .screen-back{margin-top:40px}
}
@media(max-height:780px) and (max-width:760px){
 .motion .sticky-stage.journey-stage{min-height:600px}
 .motion .game-scene{padding-top:140px;padding-bottom:90px;gap:14px}
 .scene-art img{max-height:130px}.scene-content h3{font-size:2.2rem;margin-block:8px 10px}
 .scene-content .scene-description{font-size:.86rem;margin-bottom:13px;max-width:42ch}.scene-release{font-size:.7rem}
}
@media(max-height:760px) and (min-width:761px){
 .motion .journey-top{top:108px}.motion .game-scene{padding-top:160px;padding-bottom:80px}
 .scene-content h3{font-size:5vw;margin-block:14px 20px}.scene-content .scene-description{font-size:.9rem;margin-bottom:20px}
 .scene-art,.motion .scene-art{top:55%}.scene-art img{max-height:calc(100svh - 260px)}
}
