@font-face{font-family:Barlow;src:url('/assets/Barlow-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url('/assets/Barlow-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Stomps;src:url('/assets/BarlowCondensed-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{color-scheme:dark;--navy:#103858;--cream:#fff4db;--cyan:#10dbf0;--violet:#9250ff;--blue:#428ccc;font-family:Barlow,Arial,sans-serif;color:var(--cream);background:var(--navy);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:280px}a{color:inherit;text-underline-offset:.3em}a:hover{color:var(--cyan)}
button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}
[hidden]{display:none!important}:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}
.skip-link{position:fixed;top:16px;left:16px;padding:12px 16px;z-index:10;background:var(--cream);color:var(--navy);transform:translateY(-160%)}.skip-link:focus{transform:none}
.site{min-height:100svh;display:flex;flex-direction:column;overflow:clip}
.hero{position:relative;isolation:isolate;flex:1;display:flex;flex-direction:column}
.hero::after{content:"";display:block;min-height:150px;flex:1}
.hero-copy{position:relative;z-index:2;width:max-content;max-width:94%;margin:0 auto;padding-top:38px;text-align:center;pointer-events:none}
.wordmark{margin:0;font:700 clamp(135px,15.5vw,205px)/.76 Stomps,Impact,sans-serif;letter-spacing:-.025em;-webkit-text-stroke:.018em currentColor}
.wordmark span{display:block;transform:scaleX(1.16)}.wordmark span+span{margin-top:.075em}
.tagline{font:700 clamp(32px,3.7vw,46px)/1 Stomps,sans-serif;margin:23px 0 0}
.stomp-hint{font-size:14px;margin:18px 0 0;line-height:1.5;color:var(--cream)}
.hero.has-stomped .stomp-hint{visibility:hidden}
.stomp-scene{position:absolute;inset:0;z-index:1}
.playground{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;padding:0;background:transparent;cursor:crosshair;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;text-align:initial}
.playground:focus-visible{outline-offset:-8px}
canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.street-fallback{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);width:240px;height:290px;object-fit:cover;object-position:bottom;pointer-events:none}
.footer{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 clamp(24px,5vw,80px);min-height:80px;padding:16px 0 max(16px,env(safe-area-inset-bottom));border-top:1px solid #428ccc66}
.release{margin:0;font:700 24px/1 Stomps,sans-serif}.footer nav{display:flex;gap:30px}.footer a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;text-decoration:none}.footer a:hover{text-decoration:underline}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.legal{width:min(100% - 48px,680px);margin:auto;padding:48px 0 80px;font-size:18px;line-height:1.65}.legal .back{display:inline-flex;min-height:44px;align-items:center;font-weight:600;text-decoration:none}.legal h1{font:700 clamp(36px,7vw,56px)/1.05 Stomps,sans-serif;margin:40px 0 24px}.legal h2{font-size:23px;margin:32px 0 8px;line-height:1.25}.legal p{margin:0 0 16px}.legal .updated{font-size:14px}
.legal{overflow-wrap:anywhere}.legal h3{font-size:20px;line-height:1.3;margin:24px 0 8px}.legal li{margin-bottom:12px}.footer nav{flex-wrap:wrap}
/* One shared layout: brand, signup, street and footer. */
.front-center .hero-cta{pointer-events:auto;position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;width:252px;min-height:64px;margin-top:24px;padding:17px 26px;color:var(--navy);font:600 18px/1.3 Barlow,sans-serif;text-decoration:none;touch-action:pan-y pinch-zoom}
.cta-label{position:relative;z-index:1;display:block;white-space:nowrap;pointer-events:none}
.hero-cta::before{content:"";position:absolute;inset:10px;background:var(--cream);clip-path:polygon(3% 0,96% 0,100% 16%,98% 100%,2% 100%,0 75%);z-index:0;pointer-events:none}
.cta-shell{position:absolute;inset:0;pointer-events:none}
.cta-shell i{position:absolute;display:block;background:var(--cream);transition:transform 160ms cubic-bezier(.12,.7,.2,1);will-change:transform}
.slab-top{inset:0 0 auto;height:15px;clip-path:polygon(4% 0,95% 0,100% 65%,100% 100%,64% 100%,60% 70%,36% 100%,0 100%,0 60%)}
.slab-bottom{inset:auto 0 0;height:15px;clip-path:polygon(0 0,36% 0,41% 25%,65% 0,100% 0,100% 40%,96% 100%,4% 100%,0 40%)}
.slab-left{left:0;top:10px;bottom:10px;width:20px;clip-path:polygon(0 0,100% 0,80% 40%,100% 60%,100% 100%,0 100%)}
.slab-right{right:0;top:10px;bottom:10px;width:20px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,15% 50%)}
.hero-cta:is(.is-pressing,.is-smashed) .slab-top{transform:translate(-7px,-14px) rotate(-6deg)}
.hero-cta:is(.is-pressing,.is-smashed) .slab-bottom{transform:translate(8px,16px) rotate(5deg)}
.hero-cta:is(.is-pressing,.is-smashed) .slab-left{transform:translate(-22px,4px) rotate(-17deg)}
.hero-cta:is(.is-pressing,.is-smashed) .slab-right{transform:translate(24px,-2px) rotate(19deg)}
.hero-cta:hover{color:var(--navy)}
.hero-cta:hover::before{background:var(--cream)}
.cta-stamp{position:absolute;z-index:2;right:-17px;top:-25px;width:52px;height:52px;pointer-events:none;opacity:0}
.cta-stamp svg{display:block;width:100%;height:100%;fill:var(--violet)}
.is-pressing .cta-stamp{opacity:1}
@media(prefers-reduced-motion:reduce){.cta-shell i{transition:none}.cta-stamp{display:none}}

/* Effects span the whole poster while native links, scrolling and zoom remain available. */
.site{position:relative;touch-action:pan-y pinch-zoom}
.stomp-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}

/* Content determines the minimum height; shorter windows can scroll without clipping the footer. */
.hero-copy{flex-shrink:0;padding-top:clamp(16px,3svh,34px)}
.wordmark{font-size:clamp(72px,min(28vw,15svh),174px)}
.tagline{font-size:clamp(26px,4svh,42px);margin-top:clamp(14px,2.5svh,24px)}
.release{display:flex;justify-content:center;align-items:center;gap:10px;margin:16px 0 0;font:400 15px/1.3 Barlow,sans-serif}
.platform-logos{display:inline-flex;align-items:center;gap:8px}
.platform-icon{display:block;fill:currentColor;width:16px;height:20px}.platform-icon.android{width:22px;height:22px}
.front-center .hero-cta{margin-top:26px;min-height:58px;padding:15px 26px}
.stomp-hint{font-size:13px;margin-top:26px;margin-bottom:0}
.footer{flex-shrink:0;min-height:88px;width:min(1150px,calc(100% - 64px));margin-inline:auto;padding:14px 0 max(20px,env(safe-area-inset-bottom,0px));gap:12px 24px;flex-wrap:wrap}
.company{text-align:center}
.company p{margin:0;font-size:13px;line-height:1.45}.company .company-tagline{margin-top:3px;font-size:12px;color:#fff4dbc4}
.footer nav{gap:24px}.footer a{font-size:14px}
@media(max-width:760px){
 .wordmark span{transform:scaleX(1.08)}
 .front-center .hero-cta{width:232px;font-size:16px}
 .hero::after{min-height:140px}
 .footer{width:calc(100% - 40px);padding-bottom:calc(38px + env(safe-area-inset-bottom,0px));gap:8px 12px}
 .footer nav{gap:16px}.footer a{font-size:13px}
 .company p{font-size:12px}.company .company-tagline{font-size:11px}
}
@media(max-width:360px){
 .footer{justify-content:center;text-align:center}.footer nav{width:100%;justify-content:center}
 .footer a{min-height:32px}.footer{padding-top:10px;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}
 .wordmark{font-size:min(27vw,14svh)}
}
@media(max-height:650px){
 .hero-copy{padding-top:12px}.tagline{margin-top:12px}.release{margin-top:12px}
 .front-center .hero-cta{margin-top:24px;min-height:54px;padding-block:13px}
 .stomp-hint{margin-top:22px}.hero::after{min-height:120px}
}
/* Wide, shallow windows put the play space beside the invitation. */
@media(min-width:700px) and (max-height:500px){
 .hero-copy{width:46%;margin-left:5%;margin-right:49%;padding-top:16px}
 .wordmark{font-size:clamp(55px,17svh,80px)}.tagline{font-size:26px}
 .stomp-hint{display:none}.hero::after{min-height:24px}
 .footer{min-height:72px;padding-block:10px}
}
@media(pointer:coarse){.keyboard-hint{display:none}}
