@font-face{font-family:"Fredoka";font-style:normal;font-weight:400 700;font-display:swap;src:url("/assets/fonts/fredoka-latin-variable.woff2") format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:400 900;font-display:swap;src:url("/assets/fonts/nunito-latin-variable.woff2") format("woff2")}

:root{
  --sky:#2bb3f0;
  --sky-header:#0c7eb1;
  --sky-wash:#dcf2fd;
  --canvas:#eaf8ff;
  --paper:#fff;
  --paper-soft:#f4fbff;
  --ink:#14284b;
  --ink-2:#577587;
  --ink-3:#9cb8c6;
  --coral:#ff6b57;
  --coral-deep:#e0503c;
  --coral-text:#c0472f;
  --coral-wash:#fff1ee;
  --grass:#38c46a;
  --grass-header:#278749;
  --grass-wash:#e4f8ec;
  --sun:#ffcb2e;
  --sun-wash:#fff7dc;
  --grape:#7858ff;
  --grape-deep:#6b46e8;
  --grape-wash:#f1edff;
  --orange:#ff9a2e;
  --line:#cfe6f1;
  --shadow:0 14px 32px rgba(20,60,90,.18);
  --shadow-soft:0 6px 14px rgba(20,60,90,.10);
  --max:1320px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--canvas);color-scheme:light}
body{margin:0;overflow-x:hidden;background:var(--canvas);color:var(--ink);font-family:"Nunito",ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.55}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:"Fredoka",ui-rounded,sans-serif;text-wrap:balance}
button,input,select,textarea{font:inherit}
.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:11px 16px;border-radius:12px;background:var(--ink);color:#fff;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid var(--grape);outline-offset:4px}

.site-header{position:absolute;z-index:20;inset:20px 0 auto;display:flex;align-items:center;justify-content:space-between;width:min(calc(100% - 40px),var(--max));min-height:72px;margin:auto;padding:10px 14px 10px 10px;border:2px solid rgba(255,255,255,.9);border-radius:22px;background:rgba(255,255,255,.86);box-shadow:var(--shadow-soft);backdrop-filter:blur(18px)}
.game-mark,.studio-link,.footer-brand{display:inline-flex;align-items:center;text-decoration:none}
.game-mark,.studio-link{min-height:44px}
.game-mark>span{display:flex;flex-direction:column;line-height:1}
.game-mark strong{font-family:"Fredoka",sans-serif;font-size:17px;font-weight:650}
.game-mark small{margin-top:5px;color:var(--ink-2);font-size:12.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.studio-link{gap:10px;color:var(--ink-2);font-size:12.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.studio-link img{width:28px;height:28px}

.hero{position:relative;display:grid;align-items:center;min-height:max(780px,100svh);overflow:hidden;isolation:isolate}
.hero:before{content:"";position:absolute;z-index:-3;inset:0;background:radial-gradient(circle at 8% 12%,rgba(43,179,240,.22),transparent 30%),radial-gradient(circle at 45% 85%,rgba(120,88,255,.12),transparent 28%),var(--canvas)}
.hero:after{content:"";position:absolute;z-index:-2;inset:0;opacity:.3;background-image:radial-gradient(var(--sky-header) 1.2px,transparent 1.2px);background-size:24px 24px;mask-image:linear-gradient(90deg,#000,transparent 55%)}
.hero-media{position:absolute;z-index:-1;top:116px;right:max(20px,calc((100vw - var(--max))/2));bottom:58px;width:min(52vw,690px);overflow:hidden;border:9px solid var(--paper);border-radius:34px;background:var(--paper);box-shadow:var(--shadow)}
.hero-media:after{content:"Trail · World · You";position:absolute;top:17px;left:17px;padding:9px 14px;border-radius:999px;background:rgba(12,126,177,.92);color:#fff;font-size:12.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-copy{width:min(calc(100% - 40px),var(--max));margin:auto;padding:128px min(48vw,640px) 80px 0}
.hero-brand{display:inline-flex;align-items:center;gap:13px;margin-bottom:24px;padding:8px 17px 8px 8px;border:2px solid var(--paper);border-radius:22px;background:rgba(255,255,255,.75);box-shadow:var(--shadow-soft)}
.hero-brand>img{width:72px;height:72px;border-radius:18px}
.hero-brand>span{display:flex;flex-direction:column;line-height:1}
.hero-brand strong{font-family:"Fredoka",sans-serif;font-size:20px;font-weight:650}
.hero-brand small{margin-top:7px;color:var(--ink-2);font-size:12.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.eyebrow,.kicker{margin:0 0 16px;color:var(--sky-header);font-size:12.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.eyebrow:before,.kicker:before{content:"";display:inline-block;width:24px;height:8px;margin:0 9px 0 0;border-radius:999px;background:currentColor}
h1{max-width:720px;margin:0 0 22px;font-size:clamp(3.8rem,6.3vw,6.8rem);font-weight:560;line-height:.91;letter-spacing:-.045em}
h1 em,h2 em{color:var(--coral-text);font-style:normal}
.hero-intro{max-width:580px;margin-bottom:29px;color:var(--ink-2);font-size:clamp(1rem,1.5vw,1.2rem);font-weight:650}
.store-links{display:flex;gap:11px;flex-wrap:wrap}
.store-button{display:inline-flex;align-items:center;min-width:186px;min-height:58px;gap:11px;padding:9px 17px;border:2px solid var(--ink);border-radius:24px;background:var(--ink);box-shadow:0 10px 24px rgba(20,40,75,.25);color:#fff;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.store-button:hover,.store-button:focus-visible{transform:translateY(-2px);box-shadow:0 11px 0 rgba(20,40,75,.12)}
.store-button svg{width:25px;height:25px;fill:#fff}
.store-button span{display:flex;flex-direction:column;font-size:17px;font-weight:900;line-height:1}
.store-button small{margin-bottom:4px;font-size:12.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.free-note{margin:18px 0 0;color:var(--ink-2);font-size:12.5px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.scroll-cue{position:absolute;bottom:22px;left:50%;display:flex;align-items:center;min-height:44px;gap:10px;color:var(--ink-2);font-size:12.5px;font-weight:900;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transform:translateX(-50%)}
.scroll-cue b{display:grid;width:34px;height:34px;border-radius:12px;background:var(--paper);box-shadow:var(--shadow-soft);place-items:center;color:var(--sky-header);font-size:15px}

.passport-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;width:min(calc(100% - 40px),var(--max));margin:0 auto 26px;padding:0}
.passport-strip p{display:flex;align-items:center;gap:14px;min-height:94px;margin:0;padding:16px 18px;border:3px solid var(--paper);border-radius:20px;background:var(--paper-soft);box-shadow:var(--shadow-soft)}
.passport-strip p:nth-child(1){background:var(--grass-wash)}
.passport-strip p:nth-child(2){background:var(--grape-wash)}
.passport-strip p:nth-child(3){background:var(--sky-wash)}
.passport-strip p:nth-child(4){background:var(--sun-wash)}
.passport-strip strong{font-family:"Fredoka",sans-serif;font-size:20px;font-weight:650}
.passport-strip span{color:var(--ink-2);font-size:12.5px;font-weight:900;letter-spacing:.07em;line-height:1.25;text-transform:uppercase}

.section-shell{width:min(calc(100% - 40px),var(--max));margin:auto}
.journey{position:relative;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(480px,1.28fr);align-items:center;gap:clamp(45px,7vw,100px);margin-block:100px;padding:78px;border:4px solid var(--paper);border-radius:36px;background:var(--paper);box-shadow:var(--shadow)}
.journey:before{content:"TRAIL";position:absolute;top:0;left:0;padding:10px 19px;border-radius:30px 0 18px 0;background:var(--sky-header);color:#fff;font-size:12.5px;font-weight:900;letter-spacing:.1em}
.journey-copy h2,.reveal-card h2,.world-heading h2,.finale h2,.contact h2{margin:0 0 22px;font-size:clamp(3rem,5vw,5.5rem);font-weight:560;line-height:.95;letter-spacing:-.035em}
.journey-copy>p:not(.kicker),.reveal-card>p:not(.kicker),.world-heading>p,.contact-copy>p:not(.kicker){color:var(--ink-2);font-size:18px;font-weight:600}
.feature-list{margin:34px 0 0;padding:0;list-style:none}
.feature-list li{display:grid;grid-template-columns:38px 1fr;gap:13px;padding:17px 0;border-top:1px solid var(--line)}
.feature-list>li>b{display:grid;width:34px;height:34px;border-radius:11px;background:var(--sky-wash);place-items:center;color:var(--sky-header);font-size:12.5px}
.feature-list span{color:var(--ink-2);font-size:14px}
.feature-list strong{display:block;margin-bottom:2px;color:var(--ink);font-family:"Fredoka",sans-serif;font-size:17px;font-weight:600}
.postcard{position:relative;margin:0;padding:11px;border:4px solid var(--paper);border-radius:28px;background:var(--paper);box-shadow:var(--shadow);transform:rotate(1deg)}
.postcard:before{content:"Featured stop";position:absolute;z-index:2;top:26px;left:26px;padding:10px 14px;border-radius:999px;background:var(--grass-header);color:#fff;font-size:12.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.postcard picture{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:18px}
.postcard img{width:100%;height:100%;object-fit:cover}
.postcard figcaption{display:flex;justify-content:space-between;padding:13px 5px 2px;color:var(--ink-2);font-size:12.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.postcard figcaption span{color:var(--grass-header)}

.reveal{position:relative;display:grid;align-items:center;min-height:820px;margin-block:120px;overflow:hidden;background:var(--grape);isolation:isolate}
.reveal:before{content:"";position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,var(--grape) 0,var(--grape) 45%,rgba(120,88,255,.25) 65%,rgba(120,88,255,.05))}
.reveal-media,.reveal-media img{position:absolute;z-index:-2;inset:0 0 0 auto;width:66%;height:100%}
.reveal-media img{object-fit:cover}
.reveal:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,var(--grape) 18%,rgba(120,88,255,.94) 42%,rgba(120,88,255,.12) 75%)}
.reveal-card{width:min(580px,calc(100% - 40px));margin-left:max(20px,calc((100vw - var(--max))/2));padding:52px;border:4px solid rgba(255,255,255,.9);border-radius:32px;background:rgba(255,255,255,.94);box-shadow:var(--shadow)}
.reveal-card .kicker{color:var(--grape-deep)}
.unlock-chip{display:inline-flex;align-items:center;gap:12px;margin-top:24px;padding:11px 17px 11px 11px;border-radius:18px;background:var(--grape-wash);color:var(--grape-deep)}
.unlock-chip>span{display:grid;width:38px;height:38px;border-radius:13px;background:var(--grape);place-items:center;color:#fff;font-weight:900}
.unlock-chip>span img{width:24px;height:24px;filter:brightness(0) invert(1)}
.unlock-chip div{display:flex;flex-direction:column;color:var(--ink-2);font-size:12.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.unlock-chip strong{color:var(--ink);font-size:14px;letter-spacing:0;text-transform:none}

.world{padding-block:70px 130px}
.world-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:70px;margin-bottom:48px}
.world-heading>p{max-width:500px;margin-bottom:23px}
.world-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px}
.world-card{position:relative;margin:0;padding:11px;border:4px solid var(--paper);border-radius:30px;background:var(--paper);box-shadow:var(--shadow-soft)}
.world-card picture{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:20px}
.world-card img{width:100%;height:100%;object-fit:cover}
.world-card figcaption{position:absolute;right:27px;bottom:27px;padding:9px 14px;border-radius:14px;background:rgba(255,255,255,.92);color:var(--ink);font-size:12.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.difficulty-card{display:flex;flex-direction:column;justify-content:center;padding:32px;border:4px solid var(--paper);border-radius:30px;background:var(--paper);box-shadow:var(--shadow-soft)}
.difficulty-card ol{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:8px 0 25px;padding:0;list-style:none}
.difficulty-card li{display:flex;flex-direction:column;justify-content:center;min-height:132px;padding:15px;border:3px solid var(--paper);border-radius:21px;box-shadow:0 0 0 1px var(--line)}
.difficulty-card li strong{font-family:"Fredoka",sans-serif;font-size:20px;font-weight:650}
.difficulty-card li span{font-size:12.5px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.difficulty-card .tier-easy{background:var(--grass)}
.difficulty-card .tier-medium{background:var(--sun)}
.difficulty-card .tier-tricky{background:var(--orange)}
.difficulty-card .tier-whoa{background:var(--coral)}
.difficulty-card>p:last-child{margin:0;color:var(--ink-2);font-family:"Fredoka",sans-serif;font-size:21px;font-weight:550;line-height:1.25}

.finale{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:700px;padding:100px 24px;overflow:hidden;background:var(--grass-header);color:#fff;text-align:center;isolation:isolate}
.finale:before,.finale:after{content:"";position:absolute;z-index:-1;width:430px;height:430px;border:90px solid rgba(255,255,255,.09);border-radius:50%}
.finale:before{top:-290px;left:-150px}.finale:after{right:-170px;bottom:-300px}
.finale-route{position:absolute;z-index:-1;inset:0;opacity:.25;background-image:radial-gradient(#fff 2px,transparent 2px);background-size:26px 26px;mask-image:linear-gradient(105deg,transparent 35%,#000 35%,#000 43%,transparent 43%)}
.finale-logo{width:90px;height:90px;margin-bottom:22px;border:5px solid #fff;border-radius:26px;box-shadow:var(--shadow-soft)}
.finale .kicker{color:#fff}.finale .kicker:before{background:#fff}
.finale h2{max-width:960px}.finale h2 em{color:var(--sun)}
.finale>p:not(.kicker){max-width:560px;margin-bottom:27px;font-size:18px;font-weight:650}
.store-button-light{border-color:#fff;background:#fff;color:var(--ink)}

.contact{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(420px,1.3fr);gap:clamp(48px,7vw,100px);padding-block:120px}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:32px;border:4px solid var(--paper);border-radius:28px;background:var(--paper);box-shadow:var(--shadow-soft)}
.contact-field{display:flex;flex-direction:column;gap:7px}.contact-field-wide{grid-column:1/-1}
.contact-field label{color:var(--ink-2);font-size:12.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;padding:13px 14px;border:2px solid var(--line);border-radius:13px;background:var(--paper-soft);color:var(--ink)}
.contact-field textarea{min-height:116px;resize:vertical}
.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.contact-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.contact-submit{min-width:0;min-height:0;padding:14px 26px;border-color:var(--ink);cursor:pointer}
.contact-submit span{font-size:15px}.contact-status{margin:0;color:var(--ink-2);font-size:13px}

footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;width:min(calc(100% - 40px),var(--max));min-height:185px;margin:auto;border-top:1px solid var(--line);color:var(--ink-2)}
.footer-brand{gap:12px;color:var(--ink)}
.footer-brand span{display:flex;flex-direction:column;font-family:"Fredoka",sans-serif;font-size:17px;font-weight:600}
.footer-brand small{color:var(--ink-2);font-family:"Nunito",sans-serif;font-size:12.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
footer nav{display:flex;gap:24px}footer nav a{display:inline-flex;align-items:center;min-height:44px;font-size:12.5px;font-weight:900;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}footer nav a:hover,footer nav a:focus-visible{color:var(--sky-header)}
footer>p{margin:0;font-size:12.5px;font-weight:700;line-height:1.7;text-align:right;text-transform:uppercase}

.legal-body{background:var(--canvas)}
.legal-shell{width:min(calc(100% - 40px),780px);margin:auto;padding:55px 0 85px}
.legal-shell header{padding:24px;border:4px solid var(--paper);border-radius:24px;background:var(--paper)}
.legal-shell .brand{color:var(--sky-header);font-size:12.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.legal-shell h1{margin:5px 0 1px;font-size:clamp(2.8rem,7vw,4.3rem)}
.legal-shell .meta{color:var(--ink-2);font-size:13px}.legal-shell .intro{margin:28px 0;color:var(--ink-2);font-size:17px}.legal-shell h2{margin:31px 0 7px;font-size:23px;font-weight:600}.legal-shell p{margin:6px 0}.legal-shell a{color:var(--sky-header)}.legal-shell .alt{margin-top:40px;padding-top:20px;border-top:1px solid var(--line)}.legal-shell footer{display:block;width:auto;min-height:auto;margin-top:45px;border:0;font-size:12px}
.error-page{display:grid;align-content:center;justify-items:start;min-height:100svh;width:min(calc(100% - 40px),840px);margin:auto}.error-page h1{margin-bottom:24px}.error-page p{font-size:18px}.error-page a{display:inline-flex;margin-top:15px;padding:13px 19px;border-radius:14px;background:var(--ink);color:#fff;text-decoration:none}

@media(max-width:1020px){
  .hero-media{width:48vw}.hero-copy{padding-right:44vw}
  .passport-strip{grid-template-columns:1fr 1fr}
  .journey{grid-template-columns:1fr;padding:64px}.postcard{order:-1}
  .world-grid{grid-template-columns:1fr}.world-heading{grid-template-columns:1fr;gap:10px}
  .contact{grid-template-columns:1fr}
  footer{grid-template-columns:1fr 1fr;padding:42px 0}footer>p{grid-column:1/-1;text-align:left}
}

@media(max-width:767px){
  .site-header{inset:10px 0 auto;width:calc(100% - 20px);min-height:62px;border-radius:18px}.game-mark strong{font-size:15px}.game-mark small{font-size:12.5px}.studio-link span{display:none}
  .hero{display:flex;flex-direction:column;min-height:auto;padding:100px 0 22px}
  .hero:after{mask-image:linear-gradient(180deg,#000,transparent 48%)}
  .hero-copy{order:1;width:calc(100% - 28px);padding:26px 0 34px;text-align:center}
  .hero-brand{margin-bottom:18px;text-align:left}.hero-brand>img{width:64px;height:64px}.hero-brand strong{font-size:18px}
  h1{margin-inline:auto;font-size:clamp(3rem,13vw,4.4rem)}.hero-intro{max-width:390px;margin-inline:auto}.hero-copy .store-links{justify-content:center}
  .hero-media{position:relative;order:2;top:auto;right:auto;bottom:auto;width:calc(100% - 28px);height:68svh;min-height:520px;max-height:700px;border-width:6px;border-radius:28px}.hero-media img{object-position:58% center}
  .scroll-cue{display:none}
  .passport-strip{grid-template-columns:1fr 1fr;gap:9px;width:calc(100% - 28px);margin-top:15px}.passport-strip p{display:block;min-height:112px;padding:15px;border-radius:18px}.passport-strip strong{display:block;margin-bottom:5px;font-size:17px}.passport-strip span{font-size:12.5px}
  .section-shell{width:calc(100% - 28px)}
  .journey{gap:46px;margin-block:65px;padding:48px 20px 30px;border-radius:28px}.journey-copy h2,.reveal-card h2,.world-heading h2,.finale h2,.contact h2{font-size:clamp(2.8rem,12vw,4.2rem)}.journey-copy>p:not(.kicker),.reveal-card>p:not(.kicker),.world-heading>p,.contact-copy>p:not(.kicker){font-size:16px}.postcard{padding:7px;border-radius:23px;transform:none}.postcard picture{aspect-ratio:4/5;border-radius:17px}.postcard figcaption{font-size:12.5px}.postcard:before{top:19px;left:18px}
  .reveal{min-height:780px;margin-block:75px;align-items:start}.reveal-media,.reveal-media img{inset:auto 0 0;width:100%;height:65%}.reveal:after{background:linear-gradient(180deg,var(--grape) 0,rgba(120,88,255,.96) 32%,rgba(120,88,255,.06) 72%)}.reveal-card{width:calc(100% - 28px);margin:24px auto 0;padding:32px 24px;border-radius:26px}
  .world{padding-block:35px 80px}.world-heading{margin-bottom:28px}.world-card{padding:7px;border-radius:25px}.world-card picture{aspect-ratio:4/5;border-radius:18px}.difficulty-card{padding:22px;border-radius:25px}.difficulty-card li{min-height:112px;padding:12px}
  .finale{min-height:690px}.finale>p:not(.kicker){font-size:16px}.finale .store-links{justify-content:center}
  .contact{padding-block:80px}.contact-form{grid-template-columns:1fr;padding:24px;border-radius:24px}.contact-field-wide{grid-column:auto}
  footer{grid-template-columns:1fr;width:calc(100% - 28px)}footer>p{grid-column:auto}footer nav{gap:20px}
}

@media(max-width:390px){.store-links{gap:8px}.store-button{min-width:158px;padding-inline:13px}.store-button span{font-size:15px}.passport-strip{grid-template-columns:1fr}.passport-strip p{min-height:auto}.difficulty-card ol{grid-template-columns:1fr}.difficulty-card li{min-height:92px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
