*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#ffe600;color:#28262b;font-family:'DM Sans',sans-serif}nav{position:fixed;z-index:50;top:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:32px;height:76px;white-space:nowrap}nav a{font-family:'Barlow',sans-serif;color:inherit;text-decoration:none;font-size:19px;display:block;transform-origin:center;will-change:transform}nav a[aria-current]{color:white}a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e85558;outline-offset:6px}.journey{height:500vh;position:relative}.stage{height:100vh;position:sticky;top:0;overflow:hidden;isolation:isolate}.stations{position:absolute;inset:0;pointer-events:none}.stations section{height:100vh}.world{position:absolute;left:50%;top:52%;width:110vw;height:110vw;transform:translateX(-50%);border-radius:50%;background:#007fff}.orbit{position:absolute;inset:0;will-change:transform}.spoke{position:absolute;inset:0;transform-origin:50% 50%}.building{position:absolute;left:50%;top:0;width:23%;aspect-ratio:1;transform:translate(-50%,-91%);background:url('assets/hungarian-landmarks-flat.png') no-repeat;background-size:300% 200%;transform-origin:center bottom}.copy{position:absolute;left:50%;top:31%;width:50%;text-align:center;transform:translateX(-50%);color:white;z-index:10;will-change:transform,opacity}.copy h1{font-family:'Barlow',sans-serif;font-weight:400;font-size:clamp(48px,6vw,100px);line-height:.94;margin:10px 0 16px}.copy p{font-size:16px;margin:0 auto;max-width:400px;line-height:1.5}.copy .eyebrow{font-size:11px;letter-spacing:2px;color:#28262b;font-weight:700}.hint{position:absolute;z-index:12;bottom:24px;left:50%;transform:translateX(-50%);color:white;font-size:12px;white-space:nowrap}.hint span{display:inline-block;margin-left:12px;font-size:25px}.counter{position:absolute;bottom:28px;right:30px;color:white;font-size:12px;letter-spacing:2px}.cloud{position:absolute;background:#e7f4ed;width:95px;height:19px;border-radius:30px;z-index:-1}.cloud:before,.cloud:after{content:'';position:absolute;background:inherit;border-radius:50%;width:40px;height:40px;bottom:0;left:18px}.cloud:after{width:30px;height:30px;left:50px}.c1{top:18%;left:17%;transform:rotate(-15deg)}.c2{top:12%;right:18%;transform:rotate(13deg)}.c3{top:27%;left:5%;width:60px}.c4{top:23%;right:4%;width:65px}.comparison{background:#007fff;color:white;padding:100px 8vw 70px}.comparison h2,.sources h2{font-family:'Barlow',sans-serif;font-size:clamp(40px,5vw,70px);font-weight:400;margin:12px 0 40px}.eyebrow{letter-spacing:2px;font-size:12px}.compare-inner{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:1100px}.comparison label{display:block;font-size:14px}.comparison input,.comparison select{font:inherit;font-size:22px;color:white;background:transparent;border:0;border-bottom:1px solid #ffffff90;width:100%;padding:18px 0}.comparison option{color:#222}.amount{font-family:'Barlow',sans-serif;font-size:clamp(35px,4vw,64px);margin:22px 0 8px}.foot{font-size:12px;line-height:1.7;margin-top:40px}a{color:inherit}.game{display:inline-block;margin-top:25px;font-weight:700}.sources{padding:70px 8vw;line-height:1.8}.sources h2{font-size:40px;margin-bottom:12px}.sources ul{padding-left:20px;max-width:950px}.sources li{margin-bottom:14px}@media(max-width:650px){nav{gap:19px;height:68px}nav a{font-size:14px}.world{width:170vw;height:170vw;top:54%}.building{width:22%}.copy{top:32%;width:80%}.copy h1{font-size:58px}.copy p{font-size:14px;max-width:270px}.copy .eyebrow{font-size:10px}.counter{right:14px;bottom:56px}.hint{font-size:11px}.c1{left:7%;top:18%}.c2{right:9%;top:17%}.c3,.c4{display:none}.compare-inner{grid-template-columns:1fr;gap:40px}.comparison{padding:80px 24px 50px}.sources{padding:50px 24px}.sources h2{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* Street posters: flat blue, oversized white uppercase, yellow action strip. */
.brand{position:fixed;left:24px;top:24px;z-index:51;color:#28262b;font-family:'Barlow',sans-serif;font-size:25px;text-decoration:none}nav{gap:24px;top:18px;height:auto;left:auto;right:30px;transform:none;align-items:flex-start}nav a.poster{background:#0054aa;border:6px solid #f6e9d0;border-radius:0;box-shadow:5px 6px 0 #b9a581;padding:12px 17px 0;width:210px;font-family:Arial,sans-serif;font-weight:900;font-size:23px;line-height:1.06;color:white;letter-spacing:-.7px;text-align:left;white-space:normal;transform-origin:top center}nav a.poster:after{content:'';position:absolute;width:7px;height:22px;background:#b9a581;top:100%;left:22px;box-shadow:146px 0 #b9a581;z-index:-1}nav strong{display:block;background:#ffe600;color:#0054aa;font-size:12px;letter-spacing:.5px;margin:11px -17px 0;padding:7px 12px}nav a.poster:hover,nav a.poster[aria-current]{border-color:white;box-shadow:6px 8px 0 #d85254}.banknote{position:absolute;top:18px;left:var(--x);width:27px;height:13px;background:#b0d6ad;border:2px solid #538777;box-shadow:inset 0 0 0 1px #e0eed0;opacity:0;animation:money-rain var(--duration) linear var(--delay) infinite;pointer-events:none}.banknote:before{content:'';position:absolute;left:8px;top:1px;width:7px;height:7px;background:#538777;border-radius:50%}.banknote:after{content:'';position:absolute;left:1px;right:1px;top:4px;border-top:1px solid #538777}.cloud{z-index:0;overflow:visible}@keyframes money-rain{0%{opacity:0;transform:translate(0,0) rotate(-20deg)}10%{opacity:.9}70%{opacity:.85}100%{opacity:0;transform:translate(var(--drift),230px) rotate(210deg)}}.building.luxury{width:17%;z-index:2}.building.walkway{width:26%}.games{background:#ed605a;padding:75px 8vw;color:#fff}.games h2{font-family:'Barlow',sans-serif;font-size:clamp(40px,5vw,65px);font-weight:400;margin:18px 0 40px}.game-card{display:flex;align-items:center;gap:40px;max-width:850px;border-top:2px solid #ffe600;border-bottom:2px solid #ffe600;padding:28px 0;text-decoration:none}.game-card h3{font-family:'Barlow',sans-serif;font-size:40px;font-weight:400;margin:0 0 10px}.game-card span{display:inline-block;margin-top:16px;background:#ffe600;color:#28262b;padding:10px 16px;font-weight:700}.block-art{width:180px;height:160px;flex-shrink:0;background:url('assets/luxury-tetromino-atlas.png') no-repeat;background-size:400% 200%;background-position:0 0}.spoke .building{filter:saturate(.86)}@media(max-width:850px){.brand{font-size:20px;left:16px;top:15px}nav{right:18px;top:60px;gap:16px}nav a.poster{width:150px;font-size:17px;padding:10px 12px 0;border-width:4px}nav strong{font-size:10px;margin:8px -12px 0;padding:6px 8px}nav a.poster:after{height:15px;box-shadow:96px 0 #b9a581}.c1,.c2{top:24%}.copy{top:38%}.world{top:60%}.copy h1{font-size:50px}.copy .eyebrow{font-size:9px}.game-card{gap:18px;flex-direction:column;align-items:flex-start}.banknote{width:22px;height:12px}.game-card h3{font-size:34px}.games{padding:60px 24px}}@media(prefers-reduced-motion:reduce){.banknote{animation:none;opacity:.7;transform:translateY(35px) rotate(-15deg)}}
.paused .banknote{animation-play-state:paused}
@media(max-width:850px){.content-view nav{top:14px}.content-view .brand{display:none}.comparison,.games{padding-top:160px}}

.copy h1,.brand,.games h2,.sources h2,.comparison h2,.amount{font-family:Barlow,Arial,sans-serif;font-weight:900;letter-spacing:-2px}nav a.poster{width:180px;font-size:20px}nav{gap:18px}@media(max-width:850px){nav{right:12px;gap:8px}nav a.poster{width:102px;font-size:14px;padding:10px 7px 0;letter-spacing:-.3px}nav strong{font-size:8px;margin:8px -7px 0;padding:6px 5px}nav a.poster:after{left:12px;box-shadow:65px 0 #b9a581}}
@font-face{font-family:Barlow;src:url(assets/fonts/Barlow-Black.ttf) format("truetype");font-weight:900;font-display:swap}@font-face{font-family:Barlow;src:url(assets/fonts/Barlow-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
.world:before,.world:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.world:before{inset:3%;border-top:2px solid #ffffff35;background:#0085f7}.world:after{inset:1.5%;border-top:2px solid #ffffff25}.spoke[data-layer="back"]{z-index:1}.spoke[data-layer="back"] .building{top:3%;filter:saturate(.75)}.spoke[data-layer="mid"]{z-index:2}.spoke[data-layer="mid"] .building{top:1.5%}.spoke[data-layer="front"]{z-index:3}.spoke[data-layer="front"] .building{top:0}.building.landmark{width:29%}
.brand{letter-spacing:0}nav a.poster{font-family:Barlow,Arial,sans-serif;font-size:18px;font-weight:900;overflow-wrap:normal}nav a.poster span{display:block;min-height:39px}@media(max-width:850px){nav a.poster{font-size:12px}nav a.poster span{min-height:29px}}
.journey{height:300vh}.copy{top:21%;width:70%}.copy h1{font-size:clamp(35px,4vw,60px);line-height:.93;margin:8px 0}.copy p#description{display:none}.app-scenes{position:absolute;top:37%;left:50%;transform:translateX(-50%);width:min(1000px,78vw);height:53vh;z-index:15}.app-scene{position:absolute;inset:0;width:100%;height:100%;border:3px solid #fff3d9;background:#fff3d9;border-radius:0;opacity:0;box-shadow:8px 9px 0 #0054aa55;will-change:opacity,transform}.world{top:55%}.hint{bottom:14px}.counter{bottom:18px}.cloud{opacity:.8}@media(max-width:850px){.copy{top:22%;width:90%}.copy h1{font-size:35px;letter-spacing:-1px}.copy .eyebrow{font-size:8px}.app-scenes{top:35%;width:92vw;height:56vh}.world{top:63%}.c1,.c2{top:22%}}

/* Illustrated street stops: tools open on their own pages. */
.copy{top:29%;left:32%;width:43%;max-width:650px;text-align:left;color:#0054aa}
.copy h1{font-size:clamp(64px,7.3vw,116px);line-height:.88;letter-spacing:-4px;margin:16px 0 23px;text-wrap:balance}
.copy p#description{display:block;font-size:19px;line-height:1.4;max-width:390px;margin:0;color:#25252a;text-wrap:pretty}
.copy .eyebrow{font-size:10px;letter-spacing:1.5px;margin:0;max-width:none}
.scene-link{display:inline-flex;align-items:center;gap:32px;margin-top:25px;color:#0054aa;font-size:20px;font-weight:900;text-decoration:none;border-bottom:3px solid #0054aa;padding:9px 0;min-height:48px}
.scene-link span{font-size:30px;transition:transform .2s}.scene-link:hover span{transform:translate(4px,-4px)}
.scene-illustrations{position:absolute;left:57%;top:27%;width:min(38vw,540px);height:44vh;z-index:11;pointer-events:none}
.scene-art{position:absolute;inset:0;opacity:0;will-change:transform,opacity}.scene-art svg{width:100%;height:100%;overflow:visible;font-family:Barlow,Arial,sans-serif}
.world{top:94%;width:115vw;height:115vw}.building{width:18%}.building.luxury{width:13%}.building.landmark{width:22%}.building.walkway{width:20%}
.c1{top:21%;left:12%}.c2{top:20%;right:26%}.c3{top:43%;left:3%}.c4{top:40%;right:2%}
.falling-castle{position:absolute;top:9%;left:27%;width:45%;height:58%;background:url('assets/luxury-tetromino-atlas.png') no-repeat;background-size:412% 286%;background-position:1% 15%;clip-path:polygon(0 0,100% 0,100% 55%,67% 55%,67% 100%,33% 100%,33% 55%,0 55%);filter:grayscale(1) sepia(1) saturate(2) hue-rotate(175deg);animation:block-hover 3s ease-in-out infinite}
.race-fast{animation:race-roll 3.5s ease-in-out infinite}.word-drift{animation:word-hover 4s ease-in-out infinite}.clear-line{animation:line-flash 3s ease-in-out infinite}
@keyframes race-roll{50%{transform:translateX(12px)}}@keyframes word-hover{50%{transform:translateY(-5px)}}@keyframes block-hover{50%{transform:translateY(14px) rotate(3deg)}}@keyframes line-flash{0%,65%,100%{opacity:1}75%{opacity:.25}}
.paused .scene-art *{animation-play-state:paused}
@media(max-width:850px){.copy{left:50%;top:25%;width:88%;max-width:none;text-align:center}.copy h1{font-size:clamp(51px,9vw,74px);letter-spacing:-2px;margin:12px 0 16px}.copy p#description{font-size:16px;max-width:420px;margin:auto}.copy .eyebrow{font-size:9px}.scene-link{font-size:17px;margin-top:12px;padding:5px 0;gap:20px}.scene-illustrations{left:50%;top:55%;transform:translateX(-50%);width:min(70vw,430px);height:28vh}.world{top:88%;width:180vw;height:180vw}.building{width:17%}.building.luxury{width:12%}.hint{bottom:10px}.counter{bottom:16px}.c1,.c2{top:21%}}
@media(max-height:650px) and (min-width:851px){.copy{top:28%}.copy h1{font-size:68px}.copy p#description{font-size:16px}.scene-link{margin-top:12px}.world{top:86%}.scene-illustrations{top:29%;height:45vh}}
@media(prefers-reduced-motion:reduce){.scene-art *{animation:none!important}.scene-link span{transition:none}}

/* Shared sphere contract: layer radii and speeds are coordinated in JS. */
.orbit-layer{position:absolute;transform-origin:50% 50%;will-change:transform}
.orbit-layer[data-layer="back"]{inset:0;z-index:1}
.orbit-layer[data-layer="mid"]{inset:1.5%;z-index:2}
.orbit-layer[data-layer="front"]{inset:3%;z-index:3}
.spoke[data-layer] .building{top:0;transform:translate(-50%,-100%);filter:none}
.world{top:83%;width:115vw;height:115vw}
.world:before{inset:1.5%;background:#0085f7;border-top:2px solid #ffffff35}
.world:after{inset:3%;border-top:2px solid #ffffff25}
.building,.building.landmark{width:13%}
.building.luxury{width:11%}.building.walkway{width:16%}
.orbit-layer[data-layer="back"] .building{filter:saturate(.82)}
.copy{top:23%;left:50%;width:min(580px,70%);text-align:center}
.copy h1{font-size:clamp(56px,5.6vw,88px);letter-spacing:-3px;margin:12px 0 18px}
.copy p#description{font-size:17px;max-width:430px;margin:auto}
.scene-link{margin-top:15px;font-size:18px}
.scene-illustrations{display:none}
nav{gap:16px;right:30px}nav a.poster{width:166px;font-size:17px}nav strong{font-size:10px}
.c1{left:6%;top:25%}.c2{right:6%;top:25%}.c3,.c4{display:none}
@media(max-width:850px){nav{right:18px;left:18px;justify-content:center;gap:10px;top:62px}nav a.poster{width:100px;font-size:12px;box-shadow:3px 4px 0 #b9a581}nav strong{font-size:8px}.copy{top:25%;width:90%}.copy h1{font-size:clamp(46px,9vw,72px);letter-spacing:-1.8px}.copy p#description{font-size:15px;max-width:360px}.scene-link{font-size:17px;margin-top:13px}.world{top:85%;width:180vw;height:180vw}.building,.building.landmark{width:19%}.building.luxury{width:16%}.building.walkway{width:22%}.c1,.c2{top:22%}.counter{bottom:18px}.hint{bottom:16px}}
@media(max-width:850px){nav a.poster{width:calc((100vw - 60px)/3);max-width:100px}}
@media(max-width:850px){.world{top:78%}.c1{left:-45px}.c2{right:-45px}}
@media(max-width:350px){nav a.poster{font-size:11px}nav strong{font-size:7px}.copy h1{font-size:43px}}
@media(max-height:650px) and (min-width:851px){.copy{top:25%}.copy h1{font-size:44px;margin:8px 0 12px}.copy p#description{font-size:14px}.scene-link{margin-top:8px;font-size:16px}.world{top:85%;width:100vw;height:100vw}.building,.building.landmark{width:9%}.building.luxury{width:10%}}

.journey{height:400vh}.copy .eyebrow{max-width:500px;font-size:14px;letter-spacing:.4px}

/* Each depth plane owns its ground: the circular edge trims straight sprite bases. */
.orbit-layer{isolation:isolate}
.orbit-layer::after{content:"";position:absolute;inset:0;border-radius:50%;z-index:4;pointer-events:none;background:#007fff}
.orbit-layer[data-layer="mid"]::after{background:#0085f7;border-top:2px solid #ffffff35}
.orbit-layer[data-layer="front"]::after{background:#007fff;border-top:2px solid #ffffff25}
.world::before,.world::after{display:none}
@media(max-width:850px){.orbit-layer[data-layer="back"] .building{width:15%}.orbit-layer[data-layer="mid"] .building{width:12%}.orbit-layer[data-layer="mid"] .walkway{width:17%}.orbit-layer[data-layer="front"] .building{width:13%}.scene-link{min-height:44px;display:inline-flex;align-items:center}.copy .eyebrow{font-size:12px;line-height:1.4}.copy{width:calc(100% - 40px)}.copy h1{font-size:clamp(42px,10vw,72px)}}

.orbit-layer[data-layer="back"] .walkway{width:14%}@media(max-width:850px){.orbit-layer[data-layer="back"] .walkway{width:16%}}

.opening-atmosphere[data-scene="0"] .copy p#description{max-width:520px;font-size:15px;line-height:1.55}@media(max-width:850px){.opening-atmosphere[data-scene="0"] .copy{top:18%}.opening-atmosphere[data-scene="0"] .copy p#description{font-size:14px;line-height:1.5}}

.publication-skip-nav{position:fixed;left:-10000px;top:0;width:1px;height:1px;overflow:hidden}.publication-skip-nav:focus-within{left:12px;right:12px;top:12px;width:auto;height:auto;display:flex;flex-wrap:wrap;gap:12px;padding:12px;background:#fffefa;z-index:1000;transform:none}.publication-skip-nav a{min-height:44px;display:flex;align-items:center;font-size:16px}
