
:root{
  --sky:#a8d9f7;
  --ground:#6fb06e;
  --paper-blue:#173458;
  --paper-blue-dark:#0f2640;
  --paper-white:#fbfdff;
  --road:#131517;
  --road-line:#f3d37a;
  --panel:rgba(7,23,38,.82);
  --panel-border:rgba(255,255,255,.16);
  --text:#f4f7ff;
  --muted:#d7e5f4;
  --accent:#ffe8a3;
  --shadow:0 22px 60px rgba(0,0,0,.22);
  --glass-blue:#cfeeff;
  --glass-blue-dark:#99d8ff;
  --headlight:#ffffff;
  --taillight:#ff355e;
  --tire:#34393f;
  --building-window-day:#bfe6ff;
  --building-window-night:#ffd56a;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--sky)}
body{overflow-x:hidden;position:relative}
a{color:inherit}
.paper-scene{position:fixed;inset:0;overflow:hidden;z-index:0;background:linear-gradient(to bottom,var(--sky) 0 66%,#90c7ea 66% 100%)}
.sky{position:absolute;inset:0 0 34% 0;background:var(--sky)}
.horizon{position:absolute;left:0;right:0;bottom:34%;height:2px;background:rgba(255,255,255,.26)}
.ground{position:absolute;left:-6%;right:-6%;bottom:98px;height:34%;background:var(--ground);clip-path:polygon(0 8%,15% 10%,33% 4%,49% 8%,66% 3%,80% 8%,100% 5%,100% 100%,0 100%)}
body.night .paper-scene{background:linear-gradient(to bottom,#09203c 0 64%,#24496e 64% 100%)}
body.night .sky{background:linear-gradient(to bottom,#06162c 0,#12345a 100%)}
body.night .ground{background:#476f47}
body.night .horizon{background:rgba(255,231,166,.22)}
.cloud-layer{position:absolute;inset:0 0 auto 0;height:50%;pointer-events:none}
.cloud{position:absolute;display:block;background:var(--paper-white);height:38px;border-radius:999px;filter:drop-shadow(0 5px 0 rgba(255,255,255,.15));animation:cloudDrift linear infinite;opacity:.96}
.cloud::before,.cloud::after{content:"";position:absolute;bottom:14px;background:var(--paper-white);border-radius:50%}
.cloud::before{width:40px;height:40px;left:12px}.cloud::after{width:56px;height:56px;right:18px;bottom:12px}
.cloud span{position:absolute;left:34px;right:38px;top:-24px;height:44px;background:var(--paper-white);border-radius:50%}
.cloud.c1{width:130px;top:12%;left:-18%;animation-duration:54s}
.cloud.c2{width:170px;top:24%;left:-28%;animation-duration:66s;animation-delay:-10s}
.cloud.c3{width:120px;top:8%;left:-38%;animation-duration:71s;animation-delay:-28s}
.cloud.c4{width:150px;top:30%;left:-48%;animation-duration:62s;animation-delay:-16s}
body.night .cloud{opacity:.62}
@keyframes cloudDrift{from{transform:translateX(0)}to{transform:translateX(145vw)}}

.neighborhood-wrap{position:absolute;left:50%;bottom:118px;width:min(145vw,2200px);height:35%;transform:translateX(-50%);will-change:transform}
.neighborhood{position:absolute;inset:0 -12%;display:flex;align-items:flex-end;justify-content:center;gap:0;transform:translateZ(0)}
.vegas-skyline{position:relative;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;gap:0}
.vg{position:relative;display:block;background:var(--paper-blue);box-shadow:0 8px 0 rgba(10,22,37,.16)}
body.night .vg{background:#0f233d}
.vg::before,.vg::after{content:"";position:absolute}
.vg .cutout{position:absolute;background:var(--building-window-day);box-shadow:inset 0 0 0 2px rgba(255,255,255,.14)}
body.night .vg .cutout{background:#17304a;box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)}
body.night .vg .cutout.lit{background:var(--building-window-night);box-shadow:0 0 8px rgba(255,213,106,.35), inset 0 0 0 1px rgba(255,255,255,.16)}
.vg.base{height:22%;width:5%}
.vg.hotel{height:38%;width:7.8%;border-radius:2px 2px 0 0}.vg.hotel .cutout{width:16%;height:12%;top:14%}.vg.hotel .w1{left:14%}.vg.hotel .w2{left:34%}.vg.hotel .w3{left:54%}.vg.hotel .w4{left:74%}
.vg.midrise{height:31%;width:6.4%}.vg.midrise .cutout{width:20%;height:13%;top:18%}.vg.midrise .w1{left:18%}.vg.midrise .w2{left:42%}.vg.midrise .w3{left:66%}
.vg.step{height:28%;width:5.6%;clip-path:polygon(0 100%,0 32%,18% 32%,18% 16%,42% 16%,42% 0,100% 0,100% 100%)}.vg.step .cutout{width:18%;height:12%;top:40%}.vg.step .w1{left:16%}.vg.step .w2{left:40%}.vg.step .w3{left:64%}
.vg.castle{height:32%;width:8.2%;clip-path:polygon(0 100%,0 22%,9% 22%,9% 0,18% 0,18% 22%,30% 22%,30% 7%,40% 7%,40% 22%,52% 22%,52% 0,61% 0,61% 22%,73% 22%,73% 7%,83% 7%,83% 22%,100% 22%,100% 100%)}.vg.castle .gate{position:absolute;left:42%;bottom:0;width:16%;height:34%;background:var(--building-window-day);border-radius:8px 8px 0 0}.vg.castle .cutout{width:10%;height:10%;top:36%}.vg.castle .w1{left:14%}.vg.castle .w2{left:28%}.vg.castle .w3{left:62%}.vg.castle .w4{left:76%}
body.night .vg.castle .gate{background:#17304a} body.night .vg.castle .gate.lit{background:var(--building-window-night)}
.vg.pyramid{height:35%;width:7.2%;clip-path:polygon(50% 0,100% 100%,0 100%)}.vg.pyramid::before{left:49%;top:-5%;width:2.2%;height:110%;background:rgba(255,255,255,.26);transform:skewX(-5deg);box-shadow:0 0 18px rgba(255,255,255,.18)}
.vg.arc{height:30%;width:5.8%;clip-path:polygon(0 100%,0 0,100% 0,100% 100%,74% 100%,74% 38%,26% 38%,26% 100%)}.vg.arc::before{left:12%;top:18%;right:12%;height:12%;background:var(--building-window-day)} body.night .vg.arc::before{background:#17304a}
.vg.tower{height:72%;width:5.8%;background:transparent;box-shadow:none}.vg.tower::before{left:34%;right:34%;bottom:0;height:76%;background:var(--paper-blue)}.vg.tower::after{left:22%;right:22%;bottom:72%;height:14%;background:var(--paper-blue);border-radius:50% 50% 10% 10%} body.night .vg.tower::before,body.night .vg.tower::after{background:#0f233d}
.vg.tower .needle{position:absolute;left:48.5%;bottom:84%;width:3%;height:20%;background:var(--paper-blue)} body.night .vg.tower .needle{background:#0f233d}
.vg.tower .disk-ring{position:absolute;left:20%;right:20%;bottom:76%;height:4%;background:var(--building-window-day)} body.night .vg.tower .disk-ring{background:var(--building-window-night);box-shadow:0 0 8px rgba(255,213,106,.35)}
.vg.slab{height:44%;width:6.6%}.vg.slab::before{left:10%;right:10%;top:9%;height:8%;background:var(--building-window-day)} body.night .vg.slab::before{background:#17304a}
.vg.slab .cutout{width:18%;height:10%;top:28%}.vg.slab .w1{left:16%}.vg.slab .w2{left:40%}.vg.slab .w3{left:64%}
.vg.wedge{height:34%;width:5.5%;clip-path:polygon(0 100%,0 16%,100% 0,100% 100%)}.vg.wedge .cutout{width:18%;height:10%;bottom:16%}.vg.wedge .w1{left:20%}.vg.wedge .w2{left:46%}.vg.wedge .w3{left:72%}
.vg.short{height:20%;width:4.6%}.vg.short .cutout{width:20%;height:14%;top:22%}.vg.short .w1{left:18%}.vg.short .w2{left:42%}.vg.short .w3{left:66%}

.road{position:absolute;left:-2%;right:-2%;bottom:0;height:108px;background:var(--road);box-shadow:0 -5px 0 rgba(0,0,0,.15)}
.road::before{content:"";position:absolute;left:0;right:0;top:18px;height:4px;background:linear-gradient(90deg,transparent 0 4%,rgba(255,255,255,.08) 4% 96%,transparent 96% 100%)}
.road::after{content:"";position:absolute;left:5%;right:5%;top:52px;height:4px;background:repeating-linear-gradient(90deg,var(--road-line) 0 42px,transparent 42px 90px);opacity:.85}

.vehicles{position:absolute;left:0;right:0;bottom:0;height:108px;pointer-events:none;overflow:hidden}
.vehicle{position:absolute;left:0;bottom:var(--lane-bottom,12px);width:var(--veh-width,88px);height:44px;will-change:transform;transition:none}
.vehicle .body,.vehicle .cabin,.vehicle .wheel,.vehicle .window,.vehicle .headlight,.vehicle .taillight{position:absolute;display:block}
.vehicle .body{left:0;bottom:8px;width:100%;height:22px;background:var(--veh-color,#4f7cff);border-radius:11px 14px 9px 9px}
.vehicle .cabin{bottom:21px;background:var(--veh-color,#4f7cff)}
.vehicle .window{background:linear-gradient(180deg,var(--glass-blue),var(--glass-blue-dark));box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.vehicle .wheel{bottom:0;width:14px;height:14px;border-radius:50%;background:var(--tire);box-shadow:inset 0 0 0 2px rgba(255,255,255,.10)}
.vehicle .headlight{width:6px;height:6px;border-radius:50%;background:var(--headlight);box-shadow:0 0 4px rgba(255,255,255,.55)}
.vehicle .taillight{width:6px;height:6px;border-radius:50%;background:var(--taillight);box-shadow:0 0 4px rgba(255,53,94,.5)}
.vehicle .wheel.left{left:14px}.vehicle .wheel.right{right:14px}

/* Directional lights */
.vehicle.dir-right .headlight.front{right:-2px;bottom:20px}
.vehicle.dir-right .taillight.rear{left:2px;bottom:20px}
.vehicle.dir-left .headlight.front{left:-2px;bottom:20px}
.vehicle.dir-left .taillight.rear{right:2px;bottom:20px}

/* Simple side-view paper-cut vehicle shapes */
.vehicle.coupe{height:40px}
.vehicle.coupe .body{height:20px;border-radius:11px 14px 9px 9px}
.vehicle.coupe .cabin{left:26px;width:38px;height:12px;border-radius:12px 12px 5px 5px  / 10px 10px 5px 5px}
.vehicle.coupe .window.w1{left:31px;bottom:24px;width:14px;height:9px;clip-path:polygon(8% 100%,22% 0,100% 0,92% 100%)}
.vehicle.coupe .window.w2{left:46px;bottom:24px;width:15px;height:9px;clip-path:polygon(0 100%,8% 0,84% 0,100% 100%)}

.vehicle.sedan{height:42px}
.vehicle.sedan .body{height:21px}
.vehicle.sedan .cabin{left:22px;width:46px;height:13px;border-radius:12px 12px 5px 5px}
.vehicle.sedan .window.w1{left:27px;bottom:24px;width:15px;height:10px;clip-path:polygon(10% 100%,24% 0,100% 0,92% 100%)}
.vehicle.sedan .window.w2{left:44px;bottom:24px;width:11px;height:10px}
.vehicle.sedan .window.w3{left:57px;bottom:24px;width:10px;height:10px;clip-path:polygon(0 100%,10% 0,84% 0,100% 100%)}

.vehicle.hatch{height:42px}
.vehicle.hatch .body{height:21px}
.vehicle.hatch .cabin{left:19px;width:43px;height:14px;border-radius:14px 14px 4px 4px}
.vehicle.hatch .window.w1{left:24px;bottom:24px;width:13px;height:10px;clip-path:polygon(14% 100%,28% 0,100% 0,92% 100%)}
.vehicle.hatch .window.w2{left:39px;bottom:24px;width:11px;height:10px}
.vehicle.hatch .window.w3{left:52px;bottom:24px;width:8px;height:10px;clip-path:polygon(0 100%,24% 0,84% 0,100% 100%)}

.vehicle.suv{height:44px}
.vehicle.suv .body{height:22px;border-radius:9px}
.vehicle.suv .cabin{left:18px;width:50px;height:15px;border-radius:9px 9px 4px 4px}
.vehicle.suv .window.w1{left:23px;bottom:24px;width:13px;height:11px;clip-path:polygon(16% 100%,28% 0,100% 0,92% 100%)}
.vehicle.suv .window.w2{left:39px;bottom:24px;width:12px;height:11px}
.vehicle.suv .window.w3{left:54px;bottom:24px;width:11px;height:11px;clip-path:polygon(0 100%,10% 0,82% 0,100% 100%)}

.vehicle.van{height:46px}
.vehicle.van .body{height:23px;border-radius:8px}
.vehicle.van .cabin{left:15px;width:52px;height:16px;border-radius:8px 8px 4px 4px}
.vehicle.van .window.w1{left:20px;bottom:24px;width:12px;height:12px;clip-path:polygon(20% 100%,32% 0,100% 0,92% 100%)}
.vehicle.van .window.w2{left:35px;bottom:24px;width:12px;height:12px}
.vehicle.van .window.w3{left:50px;bottom:24px;width:12px;height:12px}

.vehicle.pickup{height:44px}
.vehicle.pickup .body{height:22px;border-radius:9px 8px 8px 8px;clip-path:polygon(0 100%,0 28%,52% 28%,52% 0,74% 0,74% 28%,100% 28%,100% 100%)}
.vehicle.pickup .cabin{left:22px;width:36px;height:14px;border-radius:10px 10px 4px 4px}
.vehicle.pickup .window.w1{left:27px;bottom:24px;width:13px;height:10px;clip-path:polygon(18% 100%,30% 0,100% 0,92% 100%)}
.vehicle.pickup .window.w2{left:42px;bottom:24px;width:12px;height:10px;clip-path:polygon(0 100%,8% 0,84% 0,100% 100%)}

.vehicle.wagon{height:44px}
.vehicle.wagon .body{height:22px;border-radius:9px}
.vehicle.wagon .cabin{left:18px;width:52px;height:14px;border-radius:9px 11px 4px 4px}
.vehicle.wagon .window.w1{left:23px;bottom:24px;width:13px;height:10px;clip-path:polygon(18% 100%,30% 0,100% 0,92% 100%)}
.vehicle.wagon .window.w2{left:38px;bottom:24px;width:11px;height:10px}
.vehicle.wagon .window.w3{left:52px;bottom:24px;width:13px;height:10px;clip-path:polygon(0 100%,10% 0,84% 0,100% 100%)}

.vehicle.taxi::after{content:"";position:absolute;left:44%;bottom:36px;width:12px;height:4px;border-radius:2px;background:#fff3a6;box-shadow:0 0 4px rgba(255,243,166,.6)}

.page-shell{position:relative;z-index:2;width:min(1120px,calc(100% - 28px));margin:0 auto;padding:42px 0 42px;min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.hero{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);backdrop-filter:blur(8px);border-radius:30px;padding:clamp(26px,4vw,46px);max-width:900px;margin:0 auto;text-align:center}
.eyebrow{text-transform:uppercase;letter-spacing:.24em;color:var(--accent);font-size:.85rem;font-weight:800;margin:0 0 10px}
h1{font-size:clamp(2.35rem,6vw,5rem);line-height:.98;margin:12px 0 16px}.section-title{font-size:clamp(2rem,5vw,4rem)}
.lead{max-width:760px;margin:0 auto;font-size:clamp(1.03rem,1.8vw,1.26rem);line-height:1.6;color:var(--muted)}
.button-row{margin-top:28px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.button{display:inline-block;padding:13px 18px;border-radius:999px;text-decoration:none;background:var(--accent);color:#10243e;font-weight:800;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;box-shadow:0 8px 20px rgba(0,0,0,.18)}.button:hover{transform:translateY(-3px)}.button.ghost{background:rgba(255,255,255,.12);color:var(--text);border:1px solid rgba(255,255,255,.16)}
.card-grid{margin-top:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.site-card,.fill-box{background:rgba(9,25,43,.82);border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);backdrop-filter:blur(7px);border-radius:24px}
.site-card{min-height:198px;padding:22px;color:var(--text);text-decoration:none;transition:transform .22s ease,background .22s ease,border-color .22s ease}.site-card:hover{transform:translateY(-8px);background:rgba(12,31,53,.9);border-color:rgba(255,232,163,.46)}
.icon{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:17px;background:rgba(255,255,255,.11);font-size:1.7rem}
.site-card p,.fill-box li,.fill-box p{color:var(--muted);line-height:1.55}.fill-box{margin:24px auto 0;padding:24px;max-width:900px}.fill-box h2,.site-card h2{margin:.75rem 0 .35rem}
.fill-box ul{padding-left:20px}footer{position:relative;z-index:2;text-align:center;color:#eef6ff;padding:0 20px 18px;text-shadow:0 1px 2px rgba(0,0,0,.24)}
@media (max-width:950px){.card-grid{grid-template-columns:repeat(2,1fr)}.neighborhood-wrap{height:28%;bottom:110px}.ground{height:30%}}
@media (max-width:620px){.page-shell{padding-top:24px;padding-bottom:24px}.hero{padding:24px 18px}.card-grid{grid-template-columns:1fr}.road{height:96px}.vehicles{height:96px}.neighborhood-wrap{width:175vw;height:25%;bottom:96px}.ground{height:28%;bottom:86px}}
@media (prefers-reduced-motion:reduce){.cloud{animation:none!important}.neighborhood-wrap,.vehicle{transition:none!important}}
