@font-face{font-family:Fallback;src:local('Arial')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:#212026;background:#fff;font-family:'Arial',sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #ddae00;outline-offset:6px}img{display:block;max-width:100%}::selection{background:#ffd343;color:#272032}.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}.skip-link{position:fixed;top:-60px;left:20px;background:#ffd343;padding:12px;z-index:99}.skip-link:focus{top:10px}.site-header{max-width:1480px;margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:104px;padding:20px 5.4%;gap:32px}.brand{width:178px;flex-shrink:0}.brand img{width:100%;height:auto;filter:brightness(0)}.desktop-nav{display:flex;align-items:center;gap:39px;margin-left:auto;font-size:14px;font-weight:600}.desktop-nav a{padding:12px 0}.desktop-nav a:hover,.text-link:hover{color:#5629e8}.desktop-nav span{margin-left:5px}.header-cta{border:1px solid #25222b;border-radius:30px;padding:14px 23px;font-size:14px;font-weight:700;margin-left:14px}.header-cta span{margin-left:20px;font-size:20px}.header-cta:hover{background:#ffd343;border-color:#ffd343}.hero{background:#5629e8;color:#fff;overflow:hidden;position:relative}.hero-inner{max-width:1480px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;min-height:680px;padding:77px 5.4% 69px;gap:30px;align-items:center}.eyebrow{font-size:12px;letter-spacing:1.9px;line-height:1.5;font-weight:700;margin:0 0 27px}.hero .eyebrow{display:flex;align-items:center;gap:10px;letter-spacing:1.6px}.mini-star{font-size:24px;color:#ffd343;line-height:1}h1{font-size:clamp(68px,7.4vw,112px);letter-spacing:-6px;line-height:1.02;margin:0 0 27px;font-weight:800}h1 span{color:#ffd343}h2{font-size:clamp(36px,4vw,58px);letter-spacing:-2.6px;line-height:1.08;margin:0;font-weight:750}h2 em{font-family:Georgia,serif;font-weight:400}.hero-description{font-size:18px;line-height:1.65;margin:0 0 30px;color:#e2dafa}.button{display:inline-flex;justify-content:center;align-items:center;gap:32px;padding:18px 25px;border-radius:40px;font-size:15px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px);background:#ffe17f}.button span{font-size:23px;line-height:1}.button-yellow{background:#ffd343;color:#211832}.hero-footnote{display:flex;align-items:center;gap:12px;margin-top:40px;font-size:10px;letter-spacing:1.5px;color:#d5c8ff}.line{display:block;width:26px;height:1px;background:currentColor}.hero-art{position:relative;min-height:460px;display:flex;align-items:center;justify-content:center;padding:20px 0 60px}.orbit{position:absolute;left:1%;top:5%;width:96%;aspect-ratio:1;border:1px solid #b098ff50;border-radius:50%;pointer-events:none}.orbit-two{transform:scale(1.23);border-style:dashed}.feature-art{display:block;position:relative;width:92%;background:#fff;transform:rotate(-7deg);border:8px solid #fff;border-radius:22px;box-shadow:0 24px 30px #25126445;transition:transform .25s}.feature-art:hover{transform:rotate(-3deg) translateY(-6px)}.feature-art>img{width:100%;border-radius:13px 13px 0 0;aspect-ratio:620/349;object-fit:cover}.feature-caption{display:flex;align-items:center;justify-content:space-between;padding:19px 16px 14px;color:#252130}.feature-caption small{display:block;font-size:10px;font-weight:700;letter-spacing:1.7px;margin-bottom:6px;color:#7c7884}.feature-caption strong{font-size:25px;letter-spacing:-.8px}.round-arrow{width:40px;height:40px;border-radius:50%;background:#f0ecfa;display:grid;place-items:center;font-size:27px}.hero-spark{position:absolute;right:-5px;top:-6px;font-size:93px;line-height:1;color:#c3b0ff;transform:rotate(12deg)}.play-sticker{position:absolute;right:-4%;bottom:46px;background:#ffd343;color:#242030;padding:22px 24px;border-radius:50%;font-weight:800;font-size:17px;line-height:1.15;transform:rotate(12deg);width:150px;height:150px;display:flex;flex-direction:column;justify-content:center;text-align:center;box-shadow:0 8px 0 #39209830}.play-sticker span{font-size:32px}.art-note{position:absolute;bottom:-5px;color:#e2dafa;font-family:Georgia,serif;font-style:italic;font-size:17px;transform:rotate(-4deg)}.hero-bottom{max-width:1320px;margin:0 auto;padding:22px 0;border-top:1px solid #ffffff2b;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.7px;color:#ddd1ff}.hero-bottom a{display:flex;align-items:center;gap:20px}.hero-bottom a span{font-size:23px;color:#fff;line-height:1}.ticker{height:72px;display:flex;align-items:center;justify-content:space-around;gap:38px;background:#ffd343;font-size:18px;font-weight:800;white-space:nowrap;overflow:hidden;letter-spacing:-.3px}.ticker b{font-size:33px;font-weight:400}.section-wrap{max-width:1480px;margin:auto;padding:94px 5.4%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading .eyebrow{color:#6c52ac;margin-bottom:17px}.text-link{display:inline-flex;align-items:center;gap:19px;font-size:14px;font-weight:700;white-space:nowrap;border-bottom:1px solid #b6b2bc;padding:10px 0}.text-link span[aria-hidden]{font-size:24px}.section-intro{font-size:16px;color:#757079;line-height:1.6;margin:22px 0 38px}.about{background:#f5f3f9}.about>p:last-child{max-width:570px;line-height:1.8;color:#6b6476}.contact{background:#21172f;color:#fff}.contact .button{margin-top:34px}.site-footer{padding-top:52px;padding-bottom:30px}.site-footer>p{color:#716a78;font-size:14px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #e8e6eb;padding-top:28px;margin-top:36px;font-size:12px;color:#757079}.footer-bottom>div{display:flex;gap:28px}.footer-bottom a:hover{text-decoration:underline}@media(min-width:1480px){.hero-bottom{max-width:1320px}}@media(max-width:1479px){.hero-bottom{margin:0 5.4%}}@media(max-width:1000px){.hero-inner{min-height:590px;padding-top:60px;padding-bottom:50px}h1{letter-spacing:-4px;font-size:76px}.hero-art{min-height:390px}.hero-description{font-size:17px}.play-sticker{width:122px;height:122px;font-size:14px;right:-7%}.feature-caption{padding:15px 10px}.feature-caption strong{font-size:22px}.hero-spark{font-size:72px}.section-heading{align-items:start;flex-direction:column;gap:15px}}@media(max-width:700px){html{scroll-padding-top:30px}.site-header{min-height:85px;padding:15px 6%;gap:16px}.brand{width:150px}.desktop-nav{gap:20px;margin:0 0 0 auto}.desktop-nav a{font-size:13px}.desktop-nav a:nth-child(2),.desktop-nav a:nth-child(3){display:none}.header-cta{display:none}.hero-inner{padding:48px 7% 34px;grid-template-columns:1fr;gap:20px}.hero .eyebrow{font-size:10px;letter-spacing:1.2px;margin-bottom:24px}h1{font-size:clamp(54px,12.5vw,82px);letter-spacing:-3.2px;line-height:1.02;margin-bottom:24px}.hero-description{font-size:16px;line-height:1.65;margin-bottom:24px}.button{font-size:14px;padding:16px 23px}.hero-footnote{display:none}.hero-art{min-height:370px;margin-top:26px;padding:20px 4% 44px}.feature-art{max-width:440px}.hero-spark{top:-15px;right:2%}.play-sticker{right:-1%;bottom:42px;width:112px;height:112px;font-size:13px;padding:16px}.art-note{font-size:15px;bottom:-6px}.hero-bottom{padding:20px 0;justify-content:center}.hero-bottom>span{display:none}.ticker{height:58px;font-size:15px;justify-content:start;padding-left:24px;gap:25px}.ticker b{font-size:27px}.section-wrap{padding:62px 6%}h2{font-size:39px;letter-spacing:-1.8px}.section-heading .eyebrow{font-size:10px;letter-spacing:1.7px}.section-intro{line-height:1.7;margin-top:18px}.footer-bottom{flex-direction:column;line-height:1.5;gap:20px;font-size:11px}.footer-bottom>div{gap:24px;flex-wrap:wrap}.site-footer{padding-top:40px;padding-bottom:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Brand typography and final responsive composition */
@font-face { font-family: Outfit; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/outfit-400.ttf') format('truetype'); }
@font-face { font-family: Outfit; font-style: normal; font-weight: 600; font-display: swap; src: url('assets/outfit-600.ttf') format('truetype'); }
@font-face { font-family: Outfit; font-style: normal; font-weight: 800; font-display: swap; src: url('assets/outfit-800.ttf') format('truetype'); }
body { font-family: Outfit, Arial, sans-serif; }
.site-header { min-height: 94px; }
.brand { display: block; height: auto; aspect-ratio: 1886 / 542; overflow: hidden; }
.brand img { width: 148%; max-width: none; height: auto; transform: translate(-16.15%, -16.2%); }
.desktop-nav, .header-cta { font-size: 1rem; }
.hero-inner { min-height: 600px; grid-template-columns: 1.14fr 1fr; padding-top: 65px; padding-bottom: 55px; }
h1 { font-size: clamp(3.75rem, 7vw, 6.4rem); letter-spacing: -.055em; line-height: 1.04; }
h1 .hero-line { color: #fff; white-space: nowrap; }
h2 { font-weight: 600; }
.hero-description { font-size: 1.125rem; }
.eyebrow, .hero-footnote, .hero-bottom { font-size: .75rem; }
.hero-footnote { letter-spacing: 1px; }
.hero-bottom { font-size: .75rem; letter-spacing: 1px; }
.feature-caption small { font-size: .75rem; letter-spacing: 1px; }
.hero-art { min-height: 430px; margin-left: 10px; }
.feature-art { width: 90%; }
.play-sticker { right: -2%; bottom: 29px; width: 137px; height: 137px; }
.floating-icon { position: absolute; border-radius: 24%; box-shadow: 0 13px 25px #24145d44; }
.icon-sort { width: 82px; height: 82px; top: -20px; left: 2%; transform: rotate(-16deg); border: 5px solid #fff; }
.icon-stack { width: 68px; height: 68px; left: -6%; bottom: 46px; transform: rotate(12deg); border: 4px solid #fff; }
.hero-spark { font-size: 80px; top: -33px; }
.mobile-menu { display: none; }
.featured-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 27px; }
.game-card { min-width: 0; border: 1px solid #e7e3ed; border-radius: 18px; overflow: hidden; transition: transform .22s, box-shadow .22s; }
.game-card:hover { transform: translateY(-7px); box-shadow: 0 15px 35px #30214412; }
.game-art { height: 263px; position: relative; overflow: hidden; }
.game-art > img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.art-gym { background: #dceffa; }
.game-art .gym-screen { width: 53%; height: auto; position: absolute; right: 5%; top: -2%; transform: rotate(14deg); border-radius: 12px; border: 5px solid white; box-shadow: 0 10px 25px #1222482b; }
.game-art .gym-icon { width: 38%; height: auto; position: absolute; left: 8%; top: 36%; transform: rotate(-12deg); border-radius: 23%; box-shadow: 0 8px 15px #1b4c5940; }
.game-badge { position: absolute; top: 20px; left: 20px; z-index: 1; font-weight: 600; font-size: .75rem; letter-spacing: .7px; border-radius: 20px; padding: 9px 13px; background: #fff; }
.art-dungeon { background: #24203c; }
.art-dungeon > img { object-position: center 37%; }
.art-knives { background: #1a1641; }
.art-knives > img { object-position: center; }
.game-body { padding: 24px; }
.game-meta { display: flex; justify-content: space-between; gap: 10px; color: #6f607d; font-size: .75rem; font-weight: 600; letter-spacing: .8px; }
.game-meta > span:last-child { color: #706c75; letter-spacing: 0; }
.game-body h3 { display: flex; justify-content: space-between; align-items: center; font-size: 1.65rem; letter-spacing: -.65px; font-weight: 600; margin: 12px 0 10px; }
.game-body h3 span { font-size: 1.7rem; font-weight: 400; }
.game-body p { font-size: 1rem; color: #736d7b; line-height: 1.6; min-height: 52px; margin: 0 0 22px; }
.store-link { display: inline-flex; align-items: center; gap: 17px; font-size: .875rem; font-weight: 600; color: #5629e8; }
.store-link span { font-size: 1.3rem; }
.more-heading { display: flex; align-items: center; justify-content: space-between; margin: 52px 0 22px; gap: 20px; }
.more-heading h3 { font-size: 1.5rem; font-weight: 600; letter-spacing: -.5px; margin: 0; }
.more-heading > span { font-size: .875rem; color: #78727f; }
.more-games { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
.small-game { display: flex; align-items: center; gap: 19px; padding: 23px 0; border-top: 1px solid #e9e6ed; }
.small-game > img { width: 80px; height: 80px; border-radius: 19px; transition: transform .2s; }
.small-game:hover > img { transform: rotate(-5deg); }
.small-game:hover h3, .small-game:hover > b { color: #5629e8; }
.small-game > div { min-width: 0; }
.small-game h3 { margin: 0 0 5px; font-size: 1.25rem; font-weight: 600; letter-spacing: -.3px; }
.small-game p { margin: 0 0 8px; font-size: .875rem; color: #78727f; line-height: 1.5; }
.small-game div > span { font-size: .75rem; letter-spacing: .6px; color: #6c52ac; }
.small-game > b { margin-left: auto; margin-right: 12px; font-size: 1.5rem; font-weight: 400; }
.about { max-width: none; background: #f3f1f8; }
.about-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 110px; align-items: center; }
.about-copy > p:not(.eyebrow) { max-width: 400px; color: #6d6576; line-height: 1.8; margin: 26px 0 29px; }
.about-copy h2 { font-size: clamp(2.8rem, 4.5vw, 4rem); }
.about-copy h2 em { color: #5629e8; }
.about .eyebrow { color: #6c52ac; }
.about-signoff { font-size: .75rem; font-weight: 600; letter-spacing: 1.1px; color: #5e5171; }
.about-services article { display: flex; align-items: baseline; gap: 26px; padding: 30px 0; border-bottom: 1px solid #dcd6e6; }
.about-services article:first-child { padding-top: 0; }
.about-services article:last-child { border-bottom: 0; padding-bottom: 0; }
.service-number { flex-shrink: 0; font-size: .875rem; color: #765bae; }
.about-services h3 { font-size: 1.3rem; font-weight: 600; margin: 0 0 12px; letter-spacing: -.3px; }
.about-services p { margin: 0; font-size: 1rem; line-height: 1.75; color: #736b7e; }
.contact { max-width: none; background: #251837; }
.contact-inner { display: flex; justify-content: space-between; gap: 50px; align-items: center; }
.contact .eyebrow { color: #cfbaf0; }
.contact h2 { font-size: clamp(2.5rem, 4vw, 3.55rem); line-height: 1.12; }
.contact h2 em { color: #ffd343; }
.contact-action { flex-shrink: 0; }
.contact-action p { margin: 0 0 24px; color: #d3c7e0; font-size: 1rem; }
.contact .button { margin-top: 0; min-width: 175px; }
.contact-email { display: block; font-size: .875rem; margin-top: 18px; color: #d3c7e0; }
.contact-email:hover { color: #ffd343; }
.site-footer .brand { width: 153px; }
.site-footer > p { font-size: 1rem; }
.footer-bottom { font-size: .75rem; }
.footer-bottom > div { font-size: .875rem; }
@media (min-width: 1600px) { .hero-inner { min-height: 670px; } }
@media (max-width: 1100px) {
  .hero-inner { min-height: 570px; gap: 20px; }
  h1 { font-size: clamp(3.55rem, 7vw, 6.4rem); }
  .hero-art { min-height: 380px; }
  .hero-footnote { font-size: .75rem; }
  .hero .eyebrow { font-size: .75rem; letter-spacing: .5px; }
  .feature-caption strong { font-size: 1.4rem; }
  .feature-caption small { font-size: .75rem; letter-spacing: .5px; }
  .play-sticker { width: 118px; height: 118px; font-size: .875rem; right: -5%; }
  .game-art { height: 226px; }
  .game-body { padding: 20px; }
  .game-body h3 { font-size: 1.4rem; }
  .about-inner { gap: 55px; }
  .contact-inner { gap: 35px; }
  .contact h2 { font-size: 2.7rem; }
}
@media (max-width: 800px) and (min-width: 701px) {
  .hero-inner { gap: 8px; }
  .hero-art { min-height: 330px; }
  .hero-footnote { font-size: .75rem; letter-spacing: 0; }
  .desktop-nav { gap: 22px; }
  .header-cta { display: none; }
  .game-art { height: 205px; }
  .featured-grid { gap: 16px; }
  .game-body { padding: 16px; }
  .game-body h3 { font-size: 1.25rem; }
  .game-meta { letter-spacing: 0; }
  .game-body p { min-height: 101px; }
  .store-link { gap: 7px; }
  .game-badge { top: 12px; left: 10px; font-size: .75rem; letter-spacing: 0; padding: 8px; }
  .contact-inner { align-items: start; flex-direction: column; }
}
@media (max-width: 700px) {
  .site-header { min-height: 82px; position: relative; padding: 18px 6%; }
  .site-header .brand { width: 143px; }
  .desktop-nav { display: none; }
  .mobile-menu { display: block; z-index: 10; }
  .mobile-menu summary { display: flex; gap: 16px; align-items: center; list-style: none; cursor: pointer; font-size: .875rem; padding: 10px 0 10px 14px; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary span { font-size: 1.65rem; line-height: 1; }
  .mobile-menu[open] summary span { transform: rotate(45deg); }
  .mobile-menu nav { position: absolute; top: calc(100% - 1px); left: 0; right: 0; background: #fff; padding: 13px 6% 24px; box-shadow: 0 10px 12px #25183714; }
  .mobile-menu nav a { display: block; padding: 16px 0; border-top: 1px solid #ece8f0; font-size: 1rem; }
  .hero-inner { display: flex; flex-direction: column; align-items: stretch; gap: 16px; padding: 46px 7% 27px; }
  .hero .eyebrow { font-size: .75rem; letter-spacing: .5px; }
  h1 { font-size: clamp(3.2rem, 12.5vw, 5.2rem); letter-spacing: -.055em; }
  .hero-description { font-size: 1rem; }
  .hero-art { margin: 38px 0 0; min-height: 355px; }
  .feature-art { width: 91%; }
  .icon-sort { width: 62px; height: 62px; top: -18px; left: 5%; border-width: 4px; }
  .icon-stack { width: 56px; height: 56px; left: -2%; bottom: 45px; border-width: 3px; }
  .hero-spark { font-size: 62px; top: -20px; right: 0; }
  .play-sticker { right: -2%; bottom: 35px; width: 109px; height: 109px; font-size: .8125rem; }
  .art-note { font-size: .875rem; bottom: -6px; }
  .feature-caption strong { font-size: 1.4rem; }
  .feature-caption small { font-size: .75rem; letter-spacing: .5px; }
  .hero-bottom { font-size: .75rem; }
  .section-heading .eyebrow { font-size: .75rem; letter-spacing: 1.3px; }
  .featured-grid { grid-template-columns: 1fr; gap: 28px; }
  .game-art { height: 275px; }
  .game-art .gym-screen { width: 46%; right: 8%; top: -5%; }
  .game-art .gym-icon { width: 36%; left: 11%; }
  .game-body { padding: 25px; }
  .game-body h3 { font-size: 1.625rem; }
  .game-body p { min-height: auto; }
  .more-heading { margin-top: 39px; }
  .more-heading h3 { font-size: 1.375rem; }
  .more-heading > span { display: none; }
  .more-games { grid-template-columns: 1fr; }
  .small-game { padding: 22px 0; gap: 16px; }
  .small-game > img { width: 74px; height: 74px; border-radius: 17px; }
  .small-game > b { margin-right: 0; }
  .small-game h3 { font-size: 1.25rem; }
  .small-game p { font-size: .875rem; }
  .about-inner { grid-template-columns: 1fr; gap: 45px; }
  .about-copy h2 { font-size: 3rem; }
  .about-copy > p:not(.eyebrow) { margin-top: 23px; }
  .about-services article { padding: 25px 0; gap: 22px; }
  .contact-inner { display: block; }
  .contact h2 { font-size: 2.5rem; letter-spacing: -1.7px; }
  .contact-action { margin-top: 33px; }
  .contact-action p { font-size: 1rem; }
  .footer-bottom { font-size: .75rem; }
  .footer-bottom > div { gap: 20px; font-size: .875rem; }
}
@media (max-width: 370px) {
  .hero .eyebrow { font-size: .75rem; letter-spacing: 0; gap: 6px; }
  h1 { font-size: 2.95rem; }
  .hero-art { min-height: 310px; }
  .feature-caption strong { font-size: 1.25rem; }
  .play-sticker { width: 96px; height: 96px; font-size: .75rem; bottom: 30px; }
  .game-art { height: 240px; }
  .small-game { gap: 12px; }
  .small-game > img { width: 62px; height: 62px; }
}

/* Keep the official landscape artwork in its original aspect ratio. */
.feature-art > img { height: auto; }
