@charset "UTF-8";
:root{--paper:#f9faf6;--white:#fff;--ink:#17344e;--muted:#5d7381;--blue:#226ac4;--deep:#134e75;--mint:#bff1e3;--peach:#ffd3b6;--coral:#fc8f83;--yellow:#ffdb83;--line:#dce8e7;--shadow:0 18px 50px rgba(40,85,116,.09);--curve:cubic-bezier(.22,1,.36,1);--font: "Avenir Next","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic","Meiryo",system-ui,-apple-system,"Segoe UI",sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:106px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.85 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #f7ad2d;outline-offset:4px;border-radius:6px}.wrap{width:min(1240px,calc(100% - 88px));margin-inline:auto}.skip-link{position:absolute;z-index:500;top:-70px;left:16px;padding:10px 20px;background:#fff;border:2px solid var(--blue)}.skip-link:focus{top:15px}.top-progress{position:fixed;z-index:80;inset:0 auto auto 0;height:3px;width:100%;background:linear-gradient(90deg,#58b7e6,#70cfb4,#ffcf84);transform:scaleX(0);transform-origin:left;pointer-events:none}.site-header{position:sticky;z-index:70;top:0;background:linear-gradient(180deg,rgba(236,245,252,.97) 0%,rgba(248,251,255,.96) 72%,rgba(255,251,245,.96) 100%);border-bottom:1px solid rgba(111,164,198,.38);box-shadow:0 10px 22px rgba(27,82,129,.08);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}.header-inner{height:94px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-icon{border-radius:16px;background:linear-gradient(180deg,#ffffff 0%,#f2f8ff 100%);padding:6px;box-shadow:0 8px 20px rgba(19,93,164,.16),inset 0 0 0 1px rgba(133,179,214,.28)}.brand-copy{display:flex;flex-direction:column;justify-content:center;line-height:1.14}.brand-copy strong{font-size:17px;letter-spacing:.035em;font-weight:900;color:#163d66}.brand-copy small{font-size:9.3px;letter-spacing:.28em;font-weight:900;margin-top:5px;color:#2f6ec0}.brand-copy small span{color:#f0a64c}.brand-plus{color:#f9a33e}.nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.4vw,34px);margin-left:auto}.nav a{font-size:12px;font-weight:800;position:relative;white-space:nowrap;transition:color .2s;color:#234861}.nav a::after{content:"";position:absolute;bottom:-8px;left:0;width:100%;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--curve)}.nav a:hover{color:var(--blue)}.nav a:hover::after,.nav a:focus-visible::after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:12px;margin-left:10px}.lang-switch{display:flex;gap:7px;align-items:center;border:1px solid #c6dcee;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.96);color:#6f8794;font-size:10px;font-weight:900;letter-spacing:.08em;box-shadow:0 4px 14px rgba(35,85,128,.06)}.lang-button{background:none;border:0;padding:1px 2px;color:#94a7b2;cursor:pointer;font-size:11px;font-weight:900;line-height:1.3}.lang-button.is-active{color:var(--blue)}.menu-toggle{display:none;appearance:none;border:0;background:transparent;padding:10px;cursor:pointer}.menu-toggle span{display:block;width:25px;height:2px;margin:5px 0;background:var(--ink);transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hero{position:relative;display:grid;grid-template-columns:1fr 1.02fr;align-items:center;gap:12px;min-height:715px;padding-top:48px;padding-bottom:72px}.hero::before{content:"";position:absolute;inset:13% auto auto -20%;width:600px;height:420px;pointer-events:none;background:radial-gradient(ellipse,rgba(227,248,239,.55),transparent 72%);z-index:-1}.hero-copy{z-index:2;padding-bottom:15px}.eyebrow{display:flex;align-items:center;gap:11px;color:#347a9a;font-size:11px;font-weight:900;letter-spacing:.15em}.eyebrow-line{width:27px;height:2px;background:#62c4b4;border-radius:3px}.shiny-dot{width:7px;height:7px;background:var(--yellow);border-radius:50%}.hero h1{font-size:clamp(2.7rem,5.15vw,5.25rem);letter-spacing:-.087em;line-height:1.44;font-weight:900;margin:22px 0 0;white-space:nowrap}.hero h1 span{display:block}.hero-first{color:var(--ink)}.hero-second{color:var(--blue)}.hero-period{display:inline!important;color:var(--coral)}.hero-english{font-family:"Avenir Next","Segoe UI",sans-serif;font-weight:850;font-size:clamp(20px,2.05vw,30px);line-height:1.25;letter-spacing:-.04em;margin:12px 0 27px}.hero-english em{font-style:normal;color:var(--coral)}.hero-description{max-width:515px;color:#607483;font-size:15px;line-height:2.2;font-weight:550;letter-spacing:.025em}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-radius:999px;padding:14px 17px 14px 26px;min-height:59px;font-size:13px;line-height:1.2;font-weight:900;box-shadow:0 12px 25px rgba(19,83,145,.15);transition:transform .25s var(--curve),box-shadow .25s var(--curve),background .2s}.button:hover{transform:translateY(-4px);box-shadow:0 17px 26px rgba(19,83,145,.2)}.button-primary{background:var(--blue);color:#fff}.button-primary:hover{background:#18549f}.button-arrow{width:29px;height:29px;border-radius:50%;background:rgba(255,255,255,.23);display:grid;place-items:center;font-size:17px;line-height:1}.text-link,.inline-arrow{display:inline-flex;align-items:center;gap:19px;font-size:13px;font-weight:900}.text-link span:last-child,.inline-arrow span:last-child{color:var(--blue);font-size:24px;transition:transform .25s}.text-link:hover span:last-child,.inline-arrow:hover span:last-child{transform:translateX(5px)}.hero-foot{font-size:11px;font-weight:750;letter-spacing:.09em;color:#92a2a4;display:flex;align-items:center;gap:11px;margin-top:52px}.mini-asterisk{font-size:23px;color:#f9ae64}.hero-visual{height:630px;position:relative;min-width:0;isolation:isolate}.visual-halo{position:absolute;z-index:-1;width:600px;height:600px;top:16px;left:50%;transform:translateX(-49%);background:radial-gradient(circle,rgba(124,208,243,.22),transparent 70%)}.hero-world{width:100%;max-width:690px;position:absolute;top:0;left:50%;transform:translateX(-50%);animation:world-bob 8s ease-in-out infinite}.orbit{position:absolute;border:1px solid rgba(70,157,194,.2);border-radius:50%;pointer-events:none}.orbit-a{inset:58px -19px 37px 17px;transform:rotate(-16deg)}.orbit-b{inset:15px 30px 45px -20px;transform:rotate(26deg)}.float-label{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.94);border:1px solid rgba(225,235,236,.8);border-radius:17px;padding:13px 16px;box-shadow:0 15px 32px rgba(34,108,151,.13);font-family:"Avenir Next","Segoe UI",sans-serif;font-size:10px;line-height:1.45;color:#638495;letter-spacing:.085em;font-weight:850}.float-label b{font-size:12px;color:var(--ink);letter-spacing:0}.float-label-top{top:109px;left:0;transform:rotate(-7deg);animation:label-float 5s ease-in-out infinite}.float-label-bottom{bottom:92px;right:-6px;transform:rotate(7deg);animation:label-float-two 6s ease-in-out infinite}.float-icon{display:grid;place-items:center;font-size:21px;color:#318cc7;background:#e4f8fa;border-radius:12px;width:42px;height:42px}.label-heart{display:grid;place-items:center;font-size:23px;color:#f18b82;background:#fff2e9;border-radius:12px;width:42px;height:42px}.float-star{position:absolute;z-index:3;color:#fbaf68}.star-one{right:43px;top:32px;font-size:30px;animation:twinkle 4s ease-in-out infinite}.star-two{left:12%;bottom:65px;font-size:20px;animation:twinkle 5s ease-in-out infinite}.hero-side-note{position:absolute;right:-52px;top:50%;transform:translateY(-50%) rotate(90deg);transform-origin:center;font-size:9px;font-weight:900;letter-spacing:.27em;color:#9ab4ba;white-space:nowrap}.hero-side-note span{font-size:19px;margin-left:14px}.ticker{height:62px;background:var(--blue);color:#fff;overflow:hidden;display:flex;align-items:center;transform:rotate(-1.2deg) scale(1.02);transform-origin:center;box-shadow:0 8px 20px rgba(27,103,184,.12)}.ticker-track{display:flex;align-items:center;gap:56px;width:max-content;animation:marquee 36s linear infinite}.ticker-track span{display:flex;align-items:center;gap:33px;white-space:nowrap;font-family:"Avenir Next",sans-serif;font-size:19px;letter-spacing:.12em;font-weight:900}.ticker-track i{font-style:normal;color:#bff3cf;font-size:18px}
.section-space{padding-block:120px}.section-kicker{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:950;letter-spacing:.15em;color:#4c91ad}.kicker-icon{display:inline-grid;place-items:center;width:37px;height:37px;border:1px solid #a4d7d7;border-radius:50%;font:850 11px "Avenir Next",sans-serif;color:#1f80aa;background:#eefbf7}.display-heading{font-size:clamp(2.4rem,4vw,4.2rem);line-height:1.5;letter-spacing:-.07em;font-weight:900;margin:16px 0 18px}.section-intro{max-width:840px}.marker-swoosh{position:relative;z-index:0}.marker-swoosh::after{content:"";position:absolute;z-index:-1;background:#c1f1d4;height:18px;left:4px;bottom:3px;right:-8px;border-radius:50%;transform:rotate(-3deg)}.lead{font-size:17px;color:#667d8a;line-height:2.1;max-width:725px;font-weight:550}.about{background:#fff;position:relative}.about::before{content:"";position:absolute;right:6%;top:115px;width:100px;height:100px;background:url("decor/motif-four-point-star.svg") center/contain no-repeat;opacity:.18}.about-grid{margin-top:65px;display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.about-quote{min-height:332px;background:linear-gradient(135deg,#d8f4e7,#cdeef4);border:1px solid #d7ebe8;border-radius:32px;padding:55px 45px;position:relative;isolation:isolate;overflow:hidden}.quote-star{font-size:35px;color:#41a99d;line-height:1}.about-quote p{font-size:clamp(20px,2.4vw,29px);line-height:1.75;letter-spacing:-.045em;font-weight:900;position:relative;z-index:1}.quote-en{font-size:12px;letter-spacing:.13em;font-weight:800;color:#358b98}.quote-pattern{position:absolute;right:-43px;bottom:-140px;font-size:350px;color:#a8e3d7;line-height:1;z-index:-1}.tiny-label{font-family:"Avenir Next",sans-serif;font-size:11px;letter-spacing:.18em;font-weight:900;color:#2e9c9e}.about-text h3{font-size:27px;line-height:1.6;letter-spacing:-.06em;margin:16px 0 18px}.about-text p{font-size:14px;line-height:2.2;color:#687e88;max-width:470px}.about-text .inline-arrow{border-bottom:1px solid #86c5ca;margin-top:16px;padding-bottom:6px;color:var(--blue)}
.games{background:linear-gradient(180deg,#f8fbf6 0%,#effaf7 100%)}.section-heading-row{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:46px}.section-heading-row .display-heading{margin-bottom:0}.section-side{color:#6c8792;font-size:13px;line-height:2.1;font-weight:750;margin-bottom:10px}.game-feature{position:relative;display:grid;grid-template-columns:.94fr 1fr;gap:20px;overflow:hidden;min-height:552px;padding:60px 0 45px 63px;background:linear-gradient(112deg,#c9ece5,#d3f1ef 51%,#c7e9f7);border:1px solid #bce4e4;border-radius:40px;box-shadow:var(--shadow)}.game-feature::after{content:"";position:absolute;inset:auto -60px -240px auto;width:650px;height:650px;border-radius:50%;background:rgba(255,255,255,.17);pointer-events:none}.game-info{position:relative;z-index:2}.game-status{display:inline-flex;align-items:center;gap:10px;border:1px solid #84cbc1;background:rgba(255,255,255,.62);border-radius:999px;padding:7px 14px;font-size:10px;font-weight:950;color:#176b79;letter-spacing:.08em}.status-pulse{width:8px;height:8px;border-radius:50%;background:#38c1aa;box-shadow:0 0 0 4px rgba(56,193,170,.14)}.game-sublabel{font:900 11px "Avenir Next",sans-serif;letter-spacing:.23em;color:#658ba0;margin-top:48px}.game-sublabel span{color:#e59270}.game-info h3{font-family:"Avenir Next","Segoe UI",sans-serif;font-size:clamp(3.5rem,5.15vw,5.8rem);letter-spacing:-.085em;line-height:.94;font-weight:950;color:#195c89;margin:18px 0 21px}.game-info h3 span{color:#298dc0}.game-genre{color:#2b8e9c;font-size:13px;font-weight:900;letter-spacing:.09em}.game-description{font-size:13px;line-height:2.05;color:#456d7f;max-width:420px;margin:25px 0 28px;font-weight:600}.button-light{background:#fff;color:#20689b;box-shadow:0 12px 20px rgba(44,125,153,.1)}.button-light .button-arrow{background:#e8f6f6;color:#2176a8}.game-art{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center;z-index:1}.game-art img:not(.game-decor-star){width:min(112%,650px);max-width:none;height:auto;transform:translate(2%,8%) rotate(4deg);filter:drop-shadow(0 20px 34px rgba(32,112,145,.18));border-radius:30px;border:10px solid rgba(255,255,255,.76);box-shadow:0 18px 34px rgba(15,92,124,.12);transition:transform .5s var(--curve)}.game-feature:hover .game-art img:not(.game-decor-star){transform:translate(2%,5%) rotate(2deg) scale(1.015)}.art-ring{position:absolute;width:500px;height:500px;border:2px dashed rgba(65,162,169,.26);border-radius:50%;top:-20px;right:-64px}.concept-note{position:absolute;bottom:-4px;right:29px;z-index:2;font-size:10px;color:#427c8e;background:rgba(255,255,255,.88);border-radius:999px;padding:5px 13px;white-space:nowrap}.more-worlds{display:flex;gap:20px;align-items:center;border:1px dashed #b5d9d9;border-radius:22px;padding:25px 30px;margin-top:24px;background:rgba(255,255,255,.56)}.more-icon{display:grid;place-items:center;width:50px;height:50px;background:#fff1d9;border-radius:15px;color:#e9a847;font-size:27px;flex-shrink:0}.more-worlds h3{font-size:15px;letter-spacing:-.025em;margin:0 0 5px}.more-worlds p{font-size:12px;margin:0;color:#6a8592}.more-en{font:900 10px "Avenir Next",sans-serif;letter-spacing:.13em;color:#7babb0;margin-left:auto;white-space:nowrap}
.values{background:#fff}.section-intro-center{text-align:center;margin-inline:auto}.section-intro-center .section-kicker{justify-content:center}.section-intro-center .lead{margin-inline:auto}.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:61px}.value-card{position:relative;min-height:390px;border:1px solid #e3eeec;border-radius:27px;padding:36px 32px 36px;overflow:hidden;transition:transform .35s var(--curve),box-shadow .35s var(--curve)}.value-card:hover{transform:translateY(-8px);box-shadow:0 22px 45px rgba(61,115,153,.12)}.value-a{background:#eef9fb}.value-b{background:#fff1ed}.value-c{background:#f4f2ff}.value-icon{width:96px;height:96px;display:grid;place-items:center;border-radius:27px;margin-bottom:35px}.value-icon svg{width:58px;height:58px;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.value-icon-sun{background:#d5f0f6;color:#2891b7}.value-icon-heart{background:#ffddd1;color:#e47e7e}.value-icon-star{background:#e5dfff;color:#8b7cd0}.value-index{font:900 10px "Avenir Next",sans-serif;letter-spacing:.16em;color:#81a4b3}.value-card h3{font-size:22px;letter-spacing:-.07em;margin:11px 0 14px;line-height:1.5}.value-card p{font-size:13px;line-height:2;color:#6b7e8b;max-width:300px;font-weight:550;margin:0}.value-english{display:block;margin-top:25px;font:900 11px "Avenir Next",sans-serif;letter-spacing:.14em;color:#71a4ad}
.studio-note{background:#f5fbf7}.note-layout{display:grid;grid-template-columns:.76fr 1fr;align-items:center;gap:9%}.note-emblem{position:relative;width:min(100%,360px);aspect-ratio:1;display:grid;place-items:center;margin-inline:auto;background:radial-gradient(circle,#d9eef7 0 51%,transparent 52%);border:2px dashed #bce6e0;border-radius:50%}.emblem-orbit{display:grid;place-items:center;width:60%;height:60%;border-radius:50%;background:linear-gradient(145deg,#84d3df,#bcefe1);box-shadow:0 30px 50px rgba(69,151,171,.19);transform:rotate(-14deg)}.emblem-orbit span{font-size:130px;color:#fff;line-height:1;filter:drop-shadow(0 10px 9px rgba(60,159,161,.12))}.note-mini{position:absolute;right:9%;top:13%;border-radius:12px;background:#ffcd8e;color:#b36442;font:950 19px "Avenir Next",sans-serif;letter-spacing:.05em;padding:11px 13px;transform:rotate(13deg);box-shadow:0 10px 20px rgba(159,145,86,.12)}.note-copy .display-heading{font-size:clamp(2.2rem,3.3vw,3.4rem)}.note-copy p{max-width:560px;color:#70848b;font-size:14px;line-height:2.3}.note-soon{display:inline-flex;align-items:center;gap:11px;border-radius:100px;background:#e0f2ef;padding:10px 16px;font:900 11px "Avenir Next",sans-serif;letter-spacing:.13em;color:#328a91;margin-top:20px}.note-soon span:first-child{color:#f1a976;font-size:18px}
.contact{background:linear-gradient(135deg,#165f89 0%,#13537e 44%,#22699d 100%);background-image:radial-gradient(circle at 18% 18%,rgba(191,241,227,.18),transparent 28%),radial-gradient(circle at 82% 82%,rgba(255,211,182,.2),transparent 24%),radial-gradient(circle at 78% 22%,rgba(255,219,131,.14),transparent 18%),linear-gradient(135deg,#165f89 0%,#13537e 44%,#22699d 100%);color:#fff;position:relative;overflow:hidden}.contact::before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;border:1px solid rgba(255,255,255,.18);left:-250px;top:-260px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.025)}.contact::after{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(108,212,206,.22),rgba(108,212,206,.1) 38%,rgba(252,143,131,.12) 58%,transparent 72%);right:-130px;bottom:-250px}.contact-inner{position:relative;z-index:1;padding-top:100px;padding-bottom:60px;max-width:990px;text-align:center}.contact-inner::before{content:"";position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:min(880px,92%);height:180px;pointer-events:none;background:radial-gradient(ellipse at center,rgba(255,211,182,.12),rgba(191,241,227,.08) 45%,transparent 72%)}.contact-kicker{justify-content:center;color:#d4faeb}.contact-kicker .kicker-icon{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff}.contact h2{font-size:clamp(2.7rem,5vw,5.7rem);line-height:1.48;letter-spacing:-.07em;margin:20px 0}.contact h2 br{display:block}.contact p{font-size:14px;line-height:2.1;color:#d6e9f1;max-width:590px;margin:18px auto}.contact-email{display:inline-flex;align-items:center;gap:20px;border-bottom:2px solid #89decd;font:850 clamp(18px,2.6vw,32px) "Avenir Next","Segoe UI",sans-serif;letter-spacing:-.03em;max-width:100%;word-break:break-all;padding:15px 0 13px;margin-top:16px;transition:color .2s,border-color .2s,text-shadow .2s}.contact-email:hover{color:#fff0ad;border-color:#fff0ad;text-shadow:0 0 24px rgba(255,240,173,.18)}.contact-email span{white-space:nowrap;color:#bdf0ea}.contact .contact-small{margin-top:15px;font-size:11px;letter-spacing:.08em;color:#e8f8ff}.contact-aliases{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px;align-items:center;margin-top:18px}.contact-aliases-label{font-size:11px;letter-spacing:.12em;color:#e8f8ff;text-transform:uppercase}.contact-alias{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.07);color:#eefcff;font:700 13px/1.2 "Avenir Next","Segoe UI",sans-serif;transition:background .2s,border-color .2s,color .2s}.contact-alias:hover{background:rgba(255,255,255,.14);border-color:rgba(255,240,173,.7);color:#fff0ad}.contact-bottom{display:flex;align-items:center;justify-content:center;gap:17px;margin-top:106px;font:900 10px "Avenir Next",sans-serif;letter-spacing:.15em;color:#b7ebe2}.contact-bottom span:last-child{color:#ffd0b2;font-size:20px}.contact-star{position:absolute;color:rgba(255,255,255,.3);line-height:1}.contact-star-a{left:12%;top:34%;font-size:53px}.contact-star-b{right:12%;top:25%;font-size:31px}
.footer{background:linear-gradient(180deg,#f7fbfd 0%,#f7fbf8 35%,#fffaf4 100%);position:relative;overflow:hidden}.footer::before{content:"";position:absolute;inset:auto -6% -110px auto;width:340px;height:220px;background:radial-gradient(circle at center,rgba(255,211,182,.28),transparent 68%);pointer-events:none}.footer::after{content:"";position:absolute;left:-70px;top:-70px;width:260px;height:180px;background:radial-gradient(circle at center,rgba(191,241,227,.28),transparent 70%);pointer-events:none}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:52px 40px}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand b{display:block;font:950 13px "Avenir Next",sans-serif;letter-spacing:.03em}.footer-brand span{display:block;font-size:10px;color:#92a3a7;font-weight:700;margin-top:6px}.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:25px}.footer-links a{font-size:11px;font-weight:800;color:#5e7988}.footer-links a:hover{color:var(--blue)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #dfebeb;padding-block:20px 25px;color:#9bb0b4;font:850 9px "Avenir Next",sans-serif;letter-spacing:.075em}.footer-bottom span span{color:#d5ab70}.back-top{position:fixed;z-index:50;bottom:26px;right:25px;width:42px;height:42px;border:1px solid #ddebee;border-radius:50%;background:#fff;color:#36749c;display:grid;place-items:center;font-size:19px;box-shadow:0 7px 18px rgba(20,87,120,.11);opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .3s,transform .3s}.back-top.is-visible{opacity:1;pointer-events:auto;transform:none}
/* Simple document pages */
.legal-hero{background:linear-gradient(140deg,#e5f7f4,#ecf7ff);padding:85px 0 70px;position:relative;overflow:hidden}.legal-hero::after{content:"";position:absolute;right:8%;top:-80px;width:340px;height:340px;background:url("decor/motif-four-point-star.svg") center/contain no-repeat;opacity:.13}.legal-hero .wrap{position:relative;z-index:1}.legal-hero h1{font-size:clamp(2.5rem,5vw,4.5rem);margin:15px 0;line-height:1.4;letter-spacing:-.065em}.legal-hero p{font-size:15px;color:#5e8498;max-width:740px}.legal-body{padding:75px 0 110px;background:#fff}.legal-content{max-width:830px;margin-inline:auto}.legal-content h2{font-size:22px;letter-spacing:-.045em;margin:44px 0 10px}.legal-content p,.legal-content li{font-size:14px;line-height:2.2;color:#607b87}.legal-content a{color:#216da9;text-decoration:underline;text-underline-offset:4px}.legal-updated{font-size:12px;color:#839cab;font-weight:700}.legal-back{margin-top:44px}.legal-content ul{padding-left:1.4em}.error-shell{text-align:center;min-height:60vh;display:grid;place-items:center}.error-shell h1{font-size:6rem;line-height:1;color:var(--blue);margin:0}.error-shell p{margin:13px 0 30px}
/* Progressive reveal is enabled only when observer is available. */
.js.has-observer .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--curve),transform .8s var(--curve)}.js.has-observer .reveal.is-visible{opacity:1;transform:none}.reveal:nth-child(2){transition-delay:.08s}.reveal:nth-child(3){transition-delay:.16s}
@keyframes world-bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-12px)}}@keyframes label-float{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-10px) rotate(-4deg)}}@keyframes label-float-two{0%,100%{transform:translateY(0) rotate(7deg)}50%{transform:translateY(10px) rotate(4deg)}}@keyframes twinkle{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}@keyframes marquee{to{transform:translateX(-33.333%)}}
@media(max-width:1120px){.wrap{width:min(1100px,calc(100% - 56px))}.header-inner{gap:18px}.brand-copy strong{font-size:14px}.brand-copy small{font-size:8px}.nav{gap:15px}.nav a{font-size:11px}.hero{min-height:610px}.hero-visual{height:540px}.hero-side-note{display:none}.game-feature{padding-left:44px}.game-info h3{font-size:clamp(3.3rem,6vw,4.5rem)}.game-art img:not(.game-decor-star){width:115%;transform:translate(0,3%) rotate(4deg)}}
@media(max-width:860px){.header-inner{height:76px}.nav{position:absolute;top:calc(100% + 1px);left:0;right:0;display:none;background:linear-gradient(180deg,#f4f9fd 0%,#fbfdfa 100%);box-shadow:0 18px 30px rgba(19,67,107,.12);padding:19px 28px 27px;border-bottom:1px solid #d9e8e8;flex-direction:column;align-items:stretch;gap:0}.nav.is-open{display:flex}.nav a{font-size:15px;padding:13px 5px;border-bottom:1px solid #e3eeee}.nav a::after{display:none}.header-actions{margin-left:auto}.menu-toggle{display:block}.hero{grid-template-columns:1fr;gap:0;min-height:0;padding-top:65px;padding-bottom:70px}.hero h1{font-size:clamp(3.4rem,8.5vw,5rem)}.hero-copy{max-width:690px}.hero-description{max-width:680px}.hero-visual{width:min(660px,100%);height:min(80vw,600px);margin:0 auto}.hero-world{width:100%}.float-label-top{left:0;top:11%}.float-label-bottom{right:2%;bottom:12%}.hero-foot{margin-top:35px}.section-space{padding-block:88px}.about-grid{gap:34px}.about-quote{padding:35px 30px}.about-quote p{font-size:20px}.game-feature{grid-template-columns:1fr;padding:42px 42px 15px;gap:0}.game-art{min-height:370px;margin-top:-45px}.game-art img:not(.game-decor-star){width:min(600px,100%);transform:none}.game-feature:hover .game-art img:not(.game-decor-star){transform:scale(1.025)}.concept-note{bottom:8px}.game-sublabel{margin-top:27px}.values-grid{gap:13px}.value-card{padding:24px 22px;min-height:370px}.value-card h3{font-size:19px}.value-icon{width:75px;height:75px;margin-bottom:24px}.value-icon svg{width:45px;height:45px}.note-layout{gap:4%}.footer-grid{align-items:flex-start}}
@media(max-width:620px){html{scroll-padding-top:80px}.wrap{width:calc(100% - 36px)}.header-inner{height:71px;gap:10px}.brand-icon{height:39px;width:39px}.brand-copy strong{font-size:12.4px}.brand-copy small{font-size:7px;letter-spacing:.22em}.lang-switch{padding:6px 8px;gap:4px}.lang-button{font-size:10px}.header-actions{gap:3px}.menu-toggle{padding:7px}.hero{padding-top:46px;padding-bottom:49px}.hero-eyebrow{font-size:9px;letter-spacing:.08em}.hero h1{font-size:clamp(2.32rem,9.85vw,3.4rem);line-height:1.5;letter-spacing:-.095em;margin-top:15px}.hero-english{font-size:20px;margin:5px 0 16px}.hero-description{font-size:13px;line-height:2.05}.hero-actions{gap:20px;margin-top:24px}.button{min-height:52px;padding:10px 11px 10px 19px;gap:18px;font-size:12px}.button-arrow{height:30px;width:30px}.text-link{font-size:12px;gap:8px}.hero-foot{font-size:10px;line-height:1.4;margin-top:26px}.hero-visual{height:min(105vw,460px);margin-top:2px}.float-label{padding:8px 10px;gap:6px;font-size:7px;border-radius:12px}.float-label b{font-size:9px}.float-icon,.label-heart{width:30px;height:30px;border-radius:10px;font-size:17px}.float-label-top{left:-1%;top:17%}.float-label-bottom{right:0;bottom:10%}.orbit-a,.orbit-b{display:none}.ticker{height:50px}.ticker-track span{font-size:14px;gap:17px}.ticker-track{gap:35px}.section-space{padding-block:74px}.section-kicker{font-size:9px;letter-spacing:.1em;gap:9px}.kicker-icon{height:31px;width:31px;font-size:10px}.display-heading{font-size:clamp(2rem,8vw,2.6rem);line-height:1.52;margin-top:16px}.marker-swoosh::after{height:10px;bottom:4px}.lead{font-size:14px;line-height:2.05}.about-grid{margin-top:38px;grid-template-columns:1fr;gap:34px}.about-quote{min-height:255px;padding:35px 29px;border-radius:25px}.about-quote p{font-size:22px}.about-text h3{font-size:23px}.about-text p{font-size:13px}.section-heading-row{display:block;margin-bottom:28px}.section-side{margin-top:13px;font-size:12px}.game-feature{padding:30px 23px 12px;border-radius:26px}.game-status{font-size:9px;padding:7px 9px}.game-info h3{font-size:clamp(3.65rem,14vw,5.5rem);margin-top:14px}.game-sublabel{font-size:9px}.game-genre{font-size:11px}.game-description{font-size:12px;margin:19px 0 22px}.game-art{min-height:250px;margin-top:-20px}.game-art img:not(.game-decor-star){width:104%}.art-ring{width:320px;height:320px;top:0;right:-20px}.concept-note{right:1%;bottom:6px;font-size:8px}.more-worlds{padding:16px;gap:12px}.more-icon{height:42px;width:42px;flex-shrink:0}.more-worlds h3{font-size:12px}.more-worlds p{font-size:10px}.more-en{display:none}.values-grid{grid-template-columns:1fr;margin-top:32px;gap:15px}.value-card{min-height:0;padding:28px 28px 30px}.value-icon{margin-bottom:20px}.value-card p{max-width:none}.value-english{margin-top:16px}.note-layout{grid-template-columns:1fr;gap:36px}.note-emblem{width:260px}.note-copy .display-heading{font-size:2.4rem}.note-copy p{font-size:13px}.contact-inner{padding-block:78px 37px}.contact h2{font-size:clamp(2.25rem,8.7vw,3.6rem);line-height:1.5}.contact p{font-size:12px}.contact-email{font-size:clamp(16px,4.3vw,22px);gap:8px}.contact-aliases{gap:8px}.contact-aliases-label{width:100%;text-align:center;font-size:10px}.contact-alias{font-size:11px;padding:0 11px;min-height:32px}.contact-bottom{font-size:8px;letter-spacing:.06em;margin-top:76px}.contact-star-a{left:0;top:20%}.contact-star-b{right:4%;top:12%}.footer-grid{padding-block:37px 29px;display:block}.footer-links{margin-top:27px;gap:13px 19px}.footer-links a{font-size:11px}.footer-bottom{display:block;padding-block:18px 28px;font-size:8px;line-height:2}.footer-bottom>span{display:block;margin-top:6px}.back-top{right:14px;bottom:14px;height:39px;width:39px}.legal-hero{padding:60px 0}.legal-body{padding-block:50px 80px}.legal-content h2{font-size:20px}.legal-content p{font-size:13px}}
@media(max-width:360px){.brand-copy strong{font-size:10px}.brand-copy small{font-size:6px}.brand-icon{width:35px;height:35px}.wrap{width:calc(100% - 28px)}.hero h1{font-size:2.17rem}.contact-email{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.js.has-observer .reveal{opacity:1!important;transform:none!important}.ticker-track{animation:none}.hero-world{transform:translateX(-50%)}.float-label-top{transform:rotate(-7deg)}.float-label-bottom{transform:rotate(7deg)}}

.game-site-soon{display:inline-flex;gap:11px;align-items:center;border-radius:999px;padding:12px 17px;border:1px solid rgba(69,161,151,.34);background:rgba(255,255,255,.8);color:#237d8f;font-size:11px;font-weight:850;letter-spacing:.04em;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.game-site-link:hover{transform:translateY(-1px);border-color:rgba(45,145,170,.55);box-shadow:0 8px 20px rgba(31,100,130,.12)}
.game-site-link:focus-visible{outline:3px solid rgba(37,126,143,.28);outline-offset:3px}
.game-site-arrow{font-size:15px;line-height:1}
