@font-face{font-family:Mitr;src:url('/assets/Mitr-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--ink:#183d57;--muted:#496577;--mint:#e3f3ec;--paper:#fffcf3;--gold:#ffc63d;--line:#c5d5cc;--green:#2b6554}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:19px/1.65 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:6px}h1,h2,h3,.brand,.button,.nav-play{font-family:Mitr,system-ui,sans-serif;font-weight:600;line-height:1.22}h1,h2,h3,p{margin:0}p+p{margin-top:20px}h1{font-size:clamp(54px,6.5vw,88px);letter-spacing:-3px}h1 span{color:var(--green)}h2{font-size:clamp(33px,4vw,49px);letter-spacing:-1.3px}h3{font-size:23px}p{color:var(--muted)}.wrap{max-width:1192px;margin-inline:auto;padding-inline:36px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:25px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:25px}.brand img{border-radius:13px}.brand small{display:block;font:11px/1.7 system-ui,sans-serif;letter-spacing:2.4px;margin-top:3px}.site-header nav{display:flex;gap:30px;align-items:center;font-size:17px}.site-header nav a{text-decoration:none}.site-header nav a:hover{text-decoration:underline}.nav-play{padding:13px 20px;border:1px solid var(--ink);border-radius:30px}.hero{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:10px;padding-top:50px;padding-bottom:75px;position:relative}.eyebrow{font-size:12px;font-weight:750;letter-spacing:2.1px;color:var(--green);margin-bottom:20px}.intro{max-width:450px;margin:25px 0 29px;font-size:21px;line-height:1.65}.button{display:inline-flex;gap:13px;align-items:center;justify-content:center;min-height:60px;padding:17px 25px;background:var(--gold);border-radius:14px;text-decoration:none;font-size:18px;box-shadow:0 4px 0 #dba42b;transition:transform .15s,box-shadow .15s}.button:hover{transform:translateY(-2px);box-shadow:0 6px 0 #dba42b}.fine{font-size:13px;margin-top:17px}.hero-art{position:relative;background:radial-gradient(ellipse at center,#d3eee0 0,transparent 67%)}.hero-art img{width:100%}.postmark{position:absolute;right:7%;bottom:3%;width:134px;height:134px;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:15px;line-height:1.5;border:2px dashed #719c8c;border-radius:50%;color:var(--green);transform:rotate(9deg);background:#fffcf3db}.route-strip{background:var(--mint);border-block:1px solid var(--line);font-size:17px;font-weight:650}.route-strip .wrap{display:flex;justify-content:center;gap:40px;padding-block:21px}.section{padding-block:85px}.section-head{max-width:650px;margin-bottom:48px}.section-head>p:last-child{margin-top:21px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.screen{width:76%;margin:auto;border:7px solid #f5eee0;border-radius:25px;overflow:hidden;box-shadow:0 10px 28px #183d5714;aspect-ratio:9/16;background:var(--mint)}.screen img{width:100%;height:auto;object-fit:contain}.step-copy{margin-top:31px}.number{font-size:13px;letter-spacing:1px;font-weight:750;color:var(--green);display:block;margin-bottom:12px}.step-copy h3{margin-bottom:12px}.step-copy p{font-size:18px}.caption{font-size:13px;text-align:center;margin-top:35px}.journeys{background:var(--mint);padding-block:80px;border-block:1px solid var(--line)}.journey-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:90px}.journey-layout>div>p:not(.eyebrow){margin-top:25px}.journey-note{font-size:16px}.journey-list{padding:0;margin:0;list-style:none}.journey-list li{display:flex;gap:22px;padding:20px 0;border-bottom:1px solid #bfd3c6;align-items:center}.journey-list li:first-child{padding-top:0}.journey-list li>span{font-size:13px;font-weight:700;color:var(--green)}.journey-list li>span:last-child{margin-left:auto;font-size:22px}.journey-list h3{font-size:21px}.journey-list p{font-size:16px;margin-top:5px}.questions{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.questions>div>p:last-child{margin-top:25px}details{border-bottom:1px solid var(--line);padding:18px 0}summary{font-size:20px;font-weight:650;cursor:pointer;min-height:35px}details p{font-size:18px;margin-top:15px}.closing{text-align:center;padding-block:60px;background:#f5eedb;border-radius:30px;margin-bottom:70px;max-width:1120px}.closing p:not(.eyebrow){margin:18px 0 26px}footer{display:flex;justify-content:space-between;gap:30px;padding-block:30px 45px;border-top:1px solid var(--line);font-size:14px}footer .brand{font-size:23px}footer p{margin-top:8px}footer nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:14px 24px}footer nav a{padding-block:10px}.skip{position:absolute;left:12px;top:-100px;z-index:10;background:white;padding:14px}.skip:focus{top:12px}.legal{max-width:800px;min-height:60vh;padding-block:80px}.legal h1{font-size:42px;letter-spacing:-1px}.legal p{margin-top:25px}.legal .button{margin-top:30px}
@media(min-width:1400px){.hero{padding-block:75px 100px}}
@media(max-width:800px){.wrap{padding-inline:24px}.site-header nav>a:not(.nav-play){display:none}.site-header nav{gap:0}.nav-play{font-size:14px;padding:11px 15px}.brand{font-size:21px}.brand img{width:43px;height:43px}.hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:40px;gap:25px}.hero-copy{max-width:580px}.hero-art{max-width:520px;margin:auto}.hero h1{font-size:62px}.hero-art img{width:100%}.postmark{width:105px;height:105px;font-size:12px}.route-strip .wrap{gap:15px;font-size:14px;flex-wrap:wrap}.section{padding-block:55px}.steps{gap:24px}.screen{width:100%;border-width:5px}.step-copy h3{font-size:20px}.step-copy p{font-size:16px}.journey-layout,.questions{grid-template-columns:1fr;gap:35px}.journeys{padding-block:50px}.closing{margin-inline:20px;margin-bottom:45px;padding:45px 22px}footer{flex-direction:column}footer nav{justify-content:flex-start}}
@media(max-width:540px){body{font-size:18px}.wrap{padding-inline:22px}.site-header{padding-block:18px}.brand small{font-size:9px}.brand{font-size:19px;gap:8px}.site-header nav .nav-play{font:600 14px system-ui;padding:11px 13px}.hero h1{font-size:57px}.eyebrow{font-size:10px;letter-spacing:1.6px}.intro{font-size:19px}.button{font-size:16px;padding:17px 20px}.steps{grid-template-columns:1fr;gap:45px}.steps article{display:grid;grid-template-columns:.8fr 1fr;gap:22px;align-items:center}.step-copy{margin-top:0}.step-copy h3{font-size:21px}.step-copy p{font-size:16px;line-height:1.6}.screen{border-radius:17px}.route-strip .wrap{gap:8px;font-size:12px}.journey-list h3{font-size:20px}.journey-list li{gap:15px}.fine{font-size:12px}.caption{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Phone-first reading: full-width text and generous screenshots. */
@media(max-width:540px){.steps article{display:flex;flex-direction:column;align-items:stretch;gap:24px}.screen{width:78%;max-width:270px}.step-copy p{font-size:18px}.step-copy h3{font-size:24px}.hero h1{font-size:clamp(43px,13.5vw,57px)}.hero-copy .button{width:100%}.nav-play{min-height:44px;display:flex;align-items:center}.journey-list p{font-size:17px}footer nav a{min-height:44px;display:inline-flex;align-items:center}.brand{flex-shrink:0}.site-header{gap:10px}.fine{font-size:13px}.intro{margin-block:21px 25px}}
@media(max-width:359px){.site-header .brand img{display:none}.wrap{padding-inline:18px}.button{font-size:15px}.route-strip .wrap>span:nth-child(even){display:none}.route-strip .wrap{flex-direction:column;align-items:center}.closing{margin-inline:12px}.journey-list li>span:last-child{display:none}}

.travel-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding-block:45px;border-bottom:1px solid var(--line);text-align:center}.travel-stats strong{display:block;font:600 45px/1.2 Mitr,system-ui;color:var(--green)}.travel-stats span{display:block;font-size:16px;line-height:1.5;max-width:185px;margin:10px auto 0}.journey-note{font-size:18px}
@media(max-width:600px){.travel-stats{grid-template-columns:repeat(2,1fr);gap:30px 20px;padding-block:35px}.travel-stats strong{font-size:38px}.travel-stats span{font-size:16px}.journey-note{font-size:18px}}

.gallery-section{padding-block:15px 75px}.gallery-intro{max-width:650px;margin-top:20px}.gallery-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.gallery-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:8px 17px;border:1px solid #8ba99c;border-radius:24px;text-decoration:none;font-size:17px;background:var(--mint)}.gallery-nav a:hover{background:#cbe5d8}.gallery-hint{font-size:15px;margin-top:18px}.gallery-track{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:4px;padding:20px 4px 26px;scrollbar-color:#799f8d #e3eee5;scrollbar-width:thin}.gallery-track:focus-visible{outline:3px solid var(--green);outline-offset:4px}.gallery-card{flex:0 0 285px;min-width:0;margin:0;scroll-snap-align:start;scroll-margin-top:20px}.gallery-card>a{display:flex;align-items:center;justify-content:center;aspect-ratio:9/20;background:var(--mint);border:5px solid #eee6d5;border-radius:23px;overflow:hidden}.gallery-card img{width:100%;height:100%;object-fit:contain}.gallery-card figcaption{padding:19px 3px 0}.gallery-card h3{font-size:23px}.gallery-card p{font-size:17px;margin-top:9px}.gallery-card:target>a{border-color:#c39c4b}@media(max-width:540px){.gallery-section{padding-block:0 50px}.gallery-card{flex-basis:min(78vw,285px)}.gallery-track{gap:18px}.gallery-nav{gap:8px}.gallery-nav a{font-size:16px;padding-inline:14px}.gallery-hint{font-size:15px}.gallery-card p{font-size:18px}}

/* Device frames follow each screenshot's native proportions; no clipping or fixed image height. */
.screen,.gallery-card>a{display:block;position:relative;aspect-ratio:auto;padding:7px;border:1px solid #31536a;border-radius:27px;background:#17364b;overflow:visible;box-shadow:0 3px 0 #0c2638,0 10px 24px #183d571a}
.screen img,.gallery-card img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:19px}
.gallery-card:target>a{border-color:#31536a;box-shadow:0 3px 0 #0c2638,0 0 0 3px #d6ba7d,0 10px 24px #183d571a}
.gallery-track{align-items:flex-start;padding-top:24px;padding-bottom:30px}
@media(max-width:540px){.screen,.gallery-card>a{padding:6px;border-width:1px;border-radius:24px}.screen img,.gallery-card img{border-radius:17px}}
/* A real miniature puzzle, with no accounts, network calls or tracking. */
[hidden]{display:none!important}.demo-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px;background:#eaf3eb;border:1px solid #cfddd0;border-radius:28px;padding:36px;margin-bottom:65px}.demo-copy h3{font-size:32px}.demo-copy>p:not(.eyebrow){margin-top:18px}.demo-copy .demo-note{font-size:16px}.demo-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.demo-counter{font-size:14px;font-weight:650}.demo-reset{font:600 14px system-ui;color:var(--ink);background:var(--paper);border:1px solid #8da699;border-radius:12px;min-height:44px;padding:8px 12px;cursor:pointer}.demo-board{background:var(--paper);border-radius:20px;border:1px solid #bfd3c6;overflow:hidden;box-shadow:0 5px 0 #c9d9cd}.demo-board svg{display:block;width:100%;height:auto;overflow:visible;touch-action:manipulation}.demo-arrow{cursor:pointer;transition:transform .32s ease-in,opacity .32s ease-in;transform-box:view-box}.demo-arrow:focus{outline:none}.demo-arrow:focus-visible .arrow-hit{stroke:#f3c64e;stroke-opacity:.45}.arrow-number{font:700 12px system-ui;pointer-events:none}.demo-arrow.exit-right{transform:translateX(380px);opacity:0;pointer-events:none}.demo-arrow.exit-left{transform:translateX(-380px);opacity:0;pointer-events:none}.demo-arrow.exit-up{transform:translateY(-380px);opacity:0;pointer-events:none}.demo-arrow.gone{visibility:hidden}.demo-arrow.blocked{animation:nudge .22s ease-in-out}.demo-status{min-height:86px;font-size:17px;margin-top:20px}.demo-reward{font-size:16px;width:100%}.demo-reset:focus-visible{outline:3px solid var(--green);outline-offset:3px}@keyframes nudge{25%{transform:translateX(3px)}75%{transform:translateX(-3px)}}
/* Postcards show the art; phone screenshots below show the actual interface. */
.journeys{border-radius:45px 45px 0 0}.journey-layout{display:block}.journey-layout>div:first-child{max-width:730px}.postcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px;margin-top:44px;padding:8px 5px 20px}.postcard{background:#fffdf6;padding:11px 11px 23px;box-shadow:0 4px 12px #21473316;border:1px solid #d4dfd4;align-self:start}.postcard:nth-child(3n+1){transform:rotate(-.8deg)}.postcard:nth-child(3n+2){transform:rotate(.8deg)}.postcard img{width:100%;height:auto;aspect-ratio:4/3}.postcard>div{padding:20px 11px 0}.postcard-kicker{font-size:9px;font-weight:700;letter-spacing:1.4px;color:var(--green);margin-bottom:12px}.postcard h3{font-size:23px}.postcard p.postcard-route{font-size:17px;font-weight:650;margin-top:10px}.postcard p:last-child{font-size:17px;margin-top:15px}.postcard-hint{font-size:14px;margin-top:16px}.postcards:focus-visible{outline:3px solid var(--green);outline-offset:5px}.gallery-section{padding-top:70px}
@media(max-width:800px){.demo-section{gap:30px;padding:25px}.postcards{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-copy h3{font-size:28px}}
@media(max-width:600px){.demo-section{grid-template-columns:1fr;padding:22px 16px;gap:27px;margin-bottom:50px;border-radius:22px}.demo-copy>p:not(.eyebrow){font-size:18px}.demo-copy .demo-note{font-size:16px}.demo-toolbar{gap:7px}.demo-counter{font-size:13px}.demo-reset{font-size:13px;padding-inline:9px}.demo-status{font-size:17px;min-height:90px}.postcards{display:flex;overflow-x:auto;gap:20px;scroll-snap-type:x mandatory;scroll-padding-inline:5px;scrollbar-width:thin;scrollbar-color:#799f8d #e3eee5;padding:12px 5px 22px}.postcard{flex:0 0 min(80vw,310px);scroll-snap-align:start}.postcard h3{font-size:24px}.postcard p:last-child{font-size:18px}.postcard-kicker{font-size:9px}.journeys{border-radius:28px 28px 0 0}.gallery-section{padding-top:50px}}
@media(prefers-reduced-motion:reduce){.demo-arrow{transition:none}.demo-arrow.blocked{animation:none}}
