*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#d9edff;color:#183653;font-family:Inter,ui-sans-serif,system-ui,Arial,sans-serif;overflow-x:hidden}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.nav{position:fixed;z-index:90;top:16px;left:50%;transform:translateX(-50%);width:min(1140px,calc(100% - 28px));display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#edf8ffdf;border:2px solid #a4c9e7;box-shadow:0 8px 0 #477eaa22;backdrop-filter:blur(16px);border-radius:8px}.logo{font-weight:900;letter-spacing:.1em}.nav nav{display:flex;gap:22px;font-size:13px;font-weight:700}.nav a:hover{color:#2774bc}.pin-section{min-height:100svh;position:relative;overflow:hidden}.hero{background:linear-gradient(#9fd4ff,#e8f6ff);display:grid;place-items:center}.hero-content{text-align:center;z-index:3;padding:70px 20px}.hero h1{font-size:clamp(74px,13vw,190px);letter-spacing:-.085em;line-height:.9;margin:20px 0;color:#214a79;text-shadow:7px 8px #fff9}.hero h1 i{font-style:normal;color:#4d9cda}.hero p{font-size:clamp(17px,2vw,25px);line-height:1.6}.eyebrow,.num{font-weight:900;font-size:12px;letter-spacing:.18em;color:#477da7}.cta{display:inline-block;background:#1d4772;color:white;padding:16px 28px;border-radius:6px;margin-top:24px;box-shadow:6px 6px #6da6d6}.scrolltip{position:absolute;bottom:35px;font-size:11px;letter-spacing:.3em;font-weight:900}.cloud{position:absolute;width:340px;height:110px;border-radius:100px;background:#fff9;filter:drop-shadow(15px 15px 0 #c4e6ff);animation:drift 17s ease-in-out infinite alternate}.cloud:before,.cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.cloud:before{width:140px;height:140px;left:45px;bottom:20px}.cloud:after{width:180px;height:165px;left:150px;bottom:15px}.cloud1{top:23%;left:-8%}.cloud2{top:48%;right:-11%;animation-delay:-8s}.cloud3{bottom:8%;left:18%;transform:scale(.5);animation-delay:-4s}@keyframes drift{to{translate:80px -32px}}.showcase{display:grid;grid-template-columns:40% 60%;align-items:center;gap:2vw;padding:120px max(5vw,25px);background:linear-gradient(140deg,#edf8ff,#c4e2f8)}.showcase.reverse{grid-template-columns:60% 40%;background:linear-gradient(140deg,#c8e6fb,#eff8ff)}.showcase.reverse .copy{grid-column:2;grid-row:1}.showcase.reverse .visual{grid-column:1;grid-row:1}.copy{position:relative;z-index:2}.copy h2,.map-intro h2,.roadmap h2{font-size:clamp(40px,5.5vw,88px);line-height:1.05;letter-spacing:-.055em;margin:20px 0}.copy p{font-size:clamp(17px,1.8vw,23px);line-height:1.55;max-width:440px}.copy small{display:inline-block;margin-top:15px;color:#4d7698}.visual{width:100%;transform:perspective(1000px) rotateY(-4deg) translateY(70px) scale(.88);opacity:.45;transition:transform .15s linear,opacity .15s linear;box-shadow:24px 30px 0 #75b0db55;border:8px solid #eaf8ff;outline:3px solid #75b2e3;overflow:hidden;border-radius:7px}.visual img{display:block;width:100%;height:auto}.showcase.reverse .visual{transform:perspective(1000px) rotateY(4deg) translateY(70px) scale(.88)}.roadmap{padding:140px max(5vw,25px);background:#e9f7ff;min-height:80svh}.milestones{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:55px}.milestones article{border:2px solid #a5cfe8;padding:24px;background:#fff9;box-shadow:6px 7px #77aed144}.milestones strong{font-size:38px;color:#64a8d7}.milestones h3{margin-bottom:5px}.milestones span{font-size:12px;color:#4c85ad;font-weight:700}footer{padding:35px max(5vw,25px);background:#20496d;color:#fff;display:flex;gap:25px;justify-content:space-between;flex-wrap:wrap}footer div{display:flex;gap:18px}
/* V6: full-bleed interactive city */
.map-section{height:220svh;position:relative;background:#d9edff}.map-intro{height:45svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:75px 18px 20px}.map-intro h2{margin:10px 0}.map-intro p{font-size:19px;margin:0}.map-sticky{height:100svh;position:sticky;top:0;overflow:hidden;background:#75b7e5;isolation:isolate}.map-viewport{position:absolute;inset:0;overflow:hidden}.map-stage{position:absolute;inset:0;transition:transform 1.1s cubic-bezier(.19,1,.22,1);will-change:transform}.map-art{position:absolute;width:100%;height:100%;object-fit:cover;display:block}.district-svg,.map-labels{position:absolute;inset:0;width:100%;height:100%}.district-svg polygon{fill:#fff;fill-opacity:0;stroke:#fff;stroke-opacity:0;stroke-width:2.5;cursor:pointer;transition:fill-opacity .28s,stroke-opacity .28s}.district-svg polygon:hover,.district-svg polygon.active{fill-opacity:.10;stroke-opacity:.7;stroke-dasharray:7 6}.map-labels{pointer-events:none}.map-labels button{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);pointer-events:auto;background:#eaf7ffed;border:1px solid #9dc9e7;border-radius:5px;padding:8px 13px;color:#183b61;font-weight:800;font-size:clamp(11px,.95vw,14px);box-shadow:0 4px 16px #123f6c44;transition:background .25s,color .25s,scale .25s}.map-labels button:hover,.map-labels button.active{background:#173e68;color:white;scale:1.07}.map-head{position:absolute;z-index:6;top:96px;left:clamp(20px,5vw,85px);right:clamp(20px,5vw,85px);display:flex;align-items:start;justify-content:space-between;gap:20px;pointer-events:none;text-shadow:0 1px 8px #d5edff}.map-head h2{font-size:clamp(28px,4vw,58px);line-height:1.05;letter-spacing:-.05em;margin:10px 0;color:#15385e}.map-head .num{color:#123e68}.map-reset{pointer-events:auto;background:#eaf7fff2;border:1px solid #91bfdf;color:#1b4c78;border-radius:6px;padding:12px 17px;font-weight:800;box-shadow:0 5px 18px #1b4c7840}.map-bottom{position:absolute;z-index:7;bottom:clamp(18px,4vh,40px);left:clamp(20px,5vw,85px);width:min(440px,calc(100% - 40px));display:flex;align-items:center;gap:20px;justify-content:space-between;background:#eaf7fff2;border:1px solid #9cc8e7;box-shadow:0 12px 40px #103c6850;border-radius:10px;padding:19px 22px;backdrop-filter:blur(14px)}.map-bottom h3{font-size:29px;letter-spacing:-.035em;margin:7px 0}.map-bottom p{font-size:14px;line-height:1.5;margin:0;max-width:290px}.map-bottom .num{font-size:10px}.map-buttons{display:flex;gap:7px;flex-shrink:0}.map-buttons button{width:35px;height:35px;border:1px solid #93bfdf;border-radius:6px;background:white;color:#164672;font-weight:900}.map-mobile-pills{display:none}
@media(max-width:800px){.nav{top:8px;padding:10px}.nav nav{gap:9px;font-size:11px;flex-wrap:wrap;justify-content:flex-end}.logo{font-size:12px}.showcase,.showcase.reverse{grid-template-columns:1fr;padding:100px 20px 50px;gap:40px;min-height:100svh}.showcase.reverse .copy,.showcase.reverse .visual{grid-column:1;grid-row:auto}.copy h2{font-size:48px}.visual{width:100%}.map-section{height:190svh}.map-intro{height:30svh}.map-stage{width:1100px;left:50%;margin-left:-550px}.map-art{object-fit:cover}.map-head{top:83px;left:18px;right:18px}.map-head h2{font-size:35px}.map-bottom{left:14px;bottom:74px;padding:13px 15px}.map-bottom h3{font-size:23px}.map-mobile-pills{display:flex;position:absolute;z-index:8;bottom:12px;left:0;right:0;gap:8px;overflow-x:auto;padding:4px 14px;scrollbar-width:none}.map-mobile-pills button{white-space:nowrap;background:#e9f6ffed;border:1px solid #8bbce0;color:#17446d;border-radius:6px;padding:9px 13px;font-weight:750}.map-mobile-pills button.active{background:#173e68;color:white}.milestones{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.nav nav a:nth-child(1),.nav nav a:nth-child(2){display:none}.hero h1{font-size:76px}.map-head h2{font-size:29px}.map-head .num{font-size:9px}.map-reset{padding:9px 10px;font-size:11px}.map-labels button{font-size:11px;padding:6px 8px}.map-bottom{width:calc(100% - 28px);bottom:67px}.map-bottom p{font-size:12px}.milestones{grid-template-columns:1fr}.copy h2{font-size:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cloud{animation:none}*,*:before,*:after{transition:none!important}}

/* V8: clean, responsive, intentionally simplified district map */
.map-section{height:auto;min-height:0;padding:110px 20px 120px;background:linear-gradient(180deg,#e4f4ff,#cbe9fa)}
.simple-map-wrap{max-width:1220px;margin:auto}
.simple-map-heading{text-align:center;margin-bottom:32px}
.simple-map-heading h2{font-size:clamp(34px,5vw,64px);letter-spacing:-.055em;margin:10px 0}
.simple-map-heading p{margin:0;font-size:clamp(14px,2vw,18px)}
.simple-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:center;gap:20px}
.simple-map-board{background:#b6dff6;border:3px solid #fff;border-radius:18px;box-shadow:8px 9px 0 #79b0d544;overflow:hidden;min-width:0}
.city-map{display:block;width:100%;height:auto}
.district{cursor:pointer;outline:none}
.island-shadow{fill:#4c9bc1;opacity:.55}
.island{stroke:#fff;stroke-width:5;stroke-linejoin:round;transition:filter .2s,stroke .2s}
.district-outline{fill:transparent;stroke:#4a94bc;stroke-width:2;stroke-dasharray:0;pointer-events:none}
.district-name{font:700 21px Inter,system-ui,sans-serif;fill:#21496b;pointer-events:none;paint-order:stroke;stroke:#ffffffbb;stroke-width:4px;stroke-linejoin:round}
.district:hover .island,.district:focus-visible .island{filter:brightness(1.07);stroke:#468fca}
.district.active .island{stroke:#2365a2;stroke-width:7;filter:brightness(1.06)}
.district.active .district-name{fill:#123a67}
.simple-map-panel{background:#f1f9ff;border:2px solid #a0cce9;border-radius:14px;padding:22px;box-shadow:6px 7px 0 #75aeda55}
.simple-map-panel h3{font-size:30px;margin:12px 0 8px}
.simple-map-panel p{font-size:15px;line-height:1.5;min-height:70px}
.simple-map-actions{display:flex;align-items:center;gap:12px;justify-content:space-between;font-weight:800;color:#4278a1}
.simple-map-actions button{border:1px solid #9ac5e3;background:white;border-radius:8px;padding:9px 16px;color:#19466c}
.simple-map-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:25px}
.simple-map-pills button{border:1px solid #93c3e4;background:#eff9ff;color:#245177;border-radius:999px;padding:10px 15px;font-weight:750}
.simple-map-pills button.active{background:#225782;color:#fff}
@media(max-width:900px){.simple-map-layout{grid-template-columns:1fr}.simple-map-panel{display:flex;align-items:center;justify-content:space-between;gap:20px}.simple-map-panel p{min-height:0}.simple-map-actions{flex-shrink:0}}
@media(max-width:600px){.map-section{padding:90px 12px 85px}.simple-map-heading{margin-bottom:20px}.simple-map-board{border-width:2px;border-radius:12px}.simple-map-panel{display:block;padding:16px}.simple-map-panel h3{font-size:25px}.simple-map-panel p{margin:8px 0 18px}.simple-map-pills{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:4px 0 12px;scrollbar-width:thin}.simple-map-pills button{white-space:nowrap}.district-name{font-size:23px}}
@media(prefers-reduced-motion:reduce){.island{transition:none}}

/* V9: gentle detail and connected streets */
.district-details .road{fill:none;stroke:#f9f5e9;stroke-width:15;stroke-linecap:round}
.district-details .tower{fill:#739cbf;stroke:#fff;stroke-width:4}
.district-details .house{fill:#fff4dc;stroke:#c79284;stroke-width:4}
.district-details .palm{fill:none;stroke:#549f87;stroke-width:8;stroke-linecap:round}
.district-details .tree{fill:#74b98d;stroke:#e3f4db;stroke-width:3}
.district-details .factory{fill:#92a9b9;stroke:#e8f2f8;stroke-width:4}
.district-name{paint-order:stroke;stroke:#f7fbff;stroke-width:5px}
.simple-map-pills{scroll-padding-inline:25%}
@media(max-width:900px){.simple-map-pills{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.simple-map-pills::-webkit-scrollbar{display:none}}
