@font-face{font-family:"Archivo";src:url("/assets/fonts/archivo.ttf") format("truetype");font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap}
:root{--sky:#afdcf3;--ink:#142f46;--paper:#fff;--night:#122a3d;--ice:#e7f4fc;--accent:#ff7842;--muted:#31516a;--error:#a72818;--success:#175638;--gutter:clamp(20px,4vw,64px);--body:clamp(16px,1.2vw,19px);--lead:clamp(20px,1.8vw,26px);--head:clamp(46px,7vw,100px);--display:clamp(68px,11.2vw,172px);--radius:28px;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--sky);color:var(--ink);font:400 var(--body)/1.55 "Archivo",Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{color:inherit;cursor:pointer}
button:disabled{cursor:not-allowed}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:.08em}
a:hover{text-decoration-thickness:.15em}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid currentColor;outline-offset:6px}
p{margin:0 0 1em;text-wrap:pretty}
h1,h2{margin:0;font-weight:900;font-stretch:75%;letter-spacing:-.035em;line-height:.94;text-wrap:balance}
h1{font-size:var(--display)}
h2{font-size:var(--head)}
figure{margin:0}
figcaption{font-size:16px;line-height:1.5;margin-top:22px}
::selection{background:var(--ink);color:var(--paper)}
[hidden]{display:none!important}
.skip-link{position:absolute;top:8px;left:var(--gutter);z-index:10;transform:translateY(-150%);background:var(--ink);color:var(--paper);padding:12px 20px}
.skip-link:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px var(--gutter);min-height:106px}
.brand{display:block;flex:0 1 225px}
.brand img{width:225px}
.site-header nav{display:flex;align-items:center;gap:clamp(18px,3vw,44px);font-weight:600}
.site-header nav a{text-decoration:none;padding:10px 0}
.site-header nav a:hover,.site-header nav a[aria-current="page"]{text-decoration:underline}
.hero{position:relative;isolation:isolate;padding:45px var(--gutter) 70px;overflow:hidden}
.hero-clouds{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hero-cloud{position:absolute;width:clamp(440px,60vw,980px);max-width:none;opacity:.7}
.hero-cloud-near{top:-11%;left:3%}
.hero-cloud-far{top:12%;left:48%;width:clamp(380px,46vw,740px);opacity:.5}
.hero-cloud-low{top:38%;left:15%;width:clamp(520px,70vw,1150px);opacity:.55}
.hero-copy{display:grid;grid-template-columns:1.45fr 1fr;gap:5vw;align-items:start}
.hero h1{max-width:12ch;font-stretch:62%;font-size:clamp(68px,9.2vw,150px)}
.hero-intro{max-width:32ch;padding-bottom:4px}
.hero-intro>p{font-size:var(--lead);line-height:1.4;margin-bottom:25px}
.download-block{display:inline-flex;align-items:flex-start;flex-direction:column}
.store-link{display:inline-block;background:transparent;border:0;padding:15px;margin:-15px;line-height:0;text-decoration:none;transition:transform .2s var(--ease)}
.store-link img{width:180px;height:60px;max-width:none}
.store-link:hover{transform:translateY(-3px)}
.store-link:active{transform:translateY(1px)}
.download-note{font-size:16px;max-width:30ch;margin:18px 0 0}
.hero-game{margin:66px auto 0;max-width:1280px}
.hero-game img,.world-game img{width:100%}
.hero-game figcaption{text-align:center}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:16px 28px;border:0;border-radius:var(--radius);font-weight:700;line-height:1.2;text-decoration:none;background:var(--accent);color:var(--ink);transition:transform .2s var(--ease),opacity .2s}
.button:hover{transform:translateY(-3px);text-decoration:none}
.button:active{transform:translateY(1px)}
.button:disabled{opacity:.6;transform:none}
.world-section{background:var(--ice);padding:110px var(--gutter) 100px}
.world-heading{display:grid;grid-template-columns:1.45fr 1fr;gap:5vw;align-items:end}
.world-heading h2{font-size:var(--head)}
.world-heading>p{font-size:var(--lead);line-height:1.4;margin:0}
.world-game{margin:65px auto 0;max-width:1280px}
.game-facts{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin:60px 0 0}
.game-facts dt{font-size:var(--lead);font-weight:700;line-height:1.25;margin-bottom:15px}
.game-facts dd{margin:0;max-width:43ch}
.support-section{background:var(--sky);padding:95px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center;overflow:hidden}
.support-section>img{width:min(100%,430px);justify-self:center}
.support-section h2{font-size:var(--head)}
.support-section p{max-width:35ch;font-size:var(--lead);line-height:1.4;margin-top:32px;margin-bottom:28px}
.site-footer{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:40px;row-gap:28px;padding:45px var(--gutter);background:var(--ink);color:var(--ice)}
.footer-name{font-size:var(--lead);font-weight:700;text-decoration:none}
.site-footer nav{display:flex;gap:30px;flex-wrap:wrap}
.site-footer p{margin:0;font-size:16px}
.site-footer .trademark{max-width:75ch;font-size:13px;grid-column:1/-1;line-height:1.6}
.inner-page{background:var(--ice)}
.inner-page .site-header{background:var(--sky)}
.contact-main{padding:75px var(--gutter) 110px;display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:start}
.contact-intro h1,.policy-heading h1{font-size:clamp(66px,8vw,116px)}
.contact-intro>p{max-width:30ch;font-size:var(--lead);line-height:1.4;margin-top:32px}
.contact-dragon{width:clamp(170px,23vw,300px);margin:35px 0}
.contact-details h2,.form-panel h2,.policy-content h2{font-size:clamp(28px,3vw,40px);font-weight:800;line-height:1.1;letter-spacing:-.025em;margin-bottom:24px}
.contact-details p{max-width:43ch;overflow-wrap:anywhere}
.form-panel{background:var(--paper);border-radius:var(--radius);padding:clamp(24px,3vw,44px)}
.form-availability{margin:0 0 30px;font-size:16px}
fieldset{border:0;padding:0;margin:0;min-width:0}
.field{margin-bottom:24px}
label{display:block;font-weight:600;margin-bottom:9px}
label span{font-weight:400}
input,select,textarea{background:var(--ice);color:var(--ink);border:2px solid transparent;border-radius:10px;padding:13px 15px;display:block;width:100%;min-height:52px}
input:disabled,select:disabled,textarea:disabled{opacity:.6}
input:user-invalid,textarea:user-invalid{border-color:var(--error)}
textarea{resize:vertical;min-height:150px}
.field-help{font-size:16px;margin:7px 0 0}
.privacy-note{font-size:16px;margin:26px 0;line-height:1.55}
.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.form-panel [data-turnstile]{margin-bottom:24px;min-height:0}
.form-result{margin:22px 0 0;overflow-wrap:anywhere}
.form-result:empty{display:none}
.form-result[data-state="error"]{color:var(--error)}
.form-result[data-state="success"]{color:var(--success);font-weight:600}
.policy-main{padding:75px var(--gutter) 110px;min-height:65vh;max-width:calc(76ch + 2 * var(--gutter));margin-inline:auto}
.policy-heading{margin-bottom:56px}
.policy-heading>p{margin-top:30px;font-size:var(--lead)}
.policy-heading .policy-date{font-size:16px}
.policy-content{max-width:76ch;overflow-wrap:anywhere}
.policy-content h2:not(:first-child){margin-top:48px}
.policy-content h3{font-size:var(--lead);line-height:1.25;margin:30px 0 16px}
.policy-content li{margin-bottom:12px}
.not-found{padding:60px var(--gutter);min-height:100svh;display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.not-found h1{font-size:var(--head)}
.not-found p{max-width:38ch}
.not-found .button{margin-bottom:10px}
@media(prefers-reduced-motion:no-preference){
  .reveal-enter{animation:arrive .65s var(--ease) both}
  .hero .reveal-enter:nth-child(2){animation-delay:.08s}
  .contact-dragon{animation:dragon-bob 6s ease-in-out infinite}
  .hero-cloud{left:0;animation:cloud-flow 68s linear infinite;will-change:transform}
  .hero-cloud-near{animation-delay:-17s}
  .hero-cloud-far{animation-duration:94s;animation-delay:-61s}
  .hero-cloud-low{animation-duration:80s;animation-delay:-36s}
  @keyframes arrive{from{opacity:.3;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
  @keyframes dragon-bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-10px) rotate(1deg)}}
  @keyframes cloud-flow{from{transform:translateX(-110%)}to{transform:translateX(calc(100vw + 110%))}}
}
@media(min-width:1700px){.hero-copy,.world-heading,.game-facts,.support-section>div,.contact-main{max-width:1600px;margin-inline:auto}}
@media(max-width:900px){
  .hero-copy{grid-template-columns:1.3fr 1fr;gap:4vw}
  .hero{padding-top:35px}
  .hero h1{font-size:clamp(58px,9vw,100px)}
  .hero-intro>p{font-size:20px}
  .hero-game{margin-top:50px}
  .world-section{padding-block:80px}
  .world-heading{grid-template-columns:1.3fr 1fr;gap:5vw}
  .contact-main{gap:5vw;padding-top:55px}
  .policy-main{padding-top:55px}
  .form-panel{padding:26px}
  .contact-intro h1,.policy-heading h1{font-size:70px}
}
@media(max-width:600px){
  .site-header{padding-block:20px;min-height:85px;gap:16px}
  .brand{flex-basis:140px}
  .brand img{width:140px}
  .site-header nav{gap:16px;font-size:14px}
  .site-header nav a:first-child{display:none}
  .hero{padding-top:28px;padding-bottom:44px}
  .hero-copy{grid-template-columns:1fr;gap:30px}
  .hero h1{font-size:clamp(55px,15.5vw,86px);max-width:100%;letter-spacing:-.035em}
  .hero-intro{max-width:100%}
  .hero-intro>p{font-size:20px;max-width:32ch;margin:0 0 24px}
  .download-note{max-width:none;font-size:14px;margin-top:17px}
  .hero-game{margin-top:36px}
  figcaption{font-size:14px;margin-top:16px}
  .world-section{padding-block:62px}
  .world-heading{grid-template-columns:1fr;gap:30px}
  .hero-cloud-near{top:0}
  .hero-cloud-far{top:24%}
  .hero-cloud-low{top:51%}
  .world-heading h2{font-size:46px}
  .world-heading>p{font-size:20px}
  .world-game{margin-top:35px}
  .game-facts{grid-template-columns:1fr;gap:35px;margin-top:42px}
  .game-facts dt{font-size:20px}
  .game-facts dd{max-width:100%}
  .support-section{grid-template-columns:1fr;gap:35px;padding-block:60px}
  .support-section>img{width:230px}
  .support-section h2{font-size:60px}
  .support-section p{font-size:20px;margin-top:25px}
  .site-footer{grid-template-columns:1fr;gap:24px;padding-block:34px}
  .site-footer nav{gap:24px;font-size:16px}
  .site-footer p{font-size:14px}
  .site-footer .trademark{font-size:13px}
  .contact-main{grid-template-columns:1fr;gap:45px;padding-top:38px;padding-bottom:60px}
  .policy-main{padding-top:38px;padding-bottom:60px}
  .contact-intro h1,.policy-heading h1{font-size:64px}
  .contact-intro>p{font-size:20px;margin-top:28px}
  .contact-dragon{width:150px;float:right;margin:10px 0 16px 16px}
  .contact-details{padding-top:16px}
  .contact-details h2{font-size:28px}
  .contact-details p{font-size:16px}
  .form-panel{padding:25px 20px}
  .policy-heading{margin-bottom:40px}
  .policy-heading>p{margin-top:24px;margin-bottom:0}
  .policy-content h2{font-size:32px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
