/* Second design pass: shared radii, purposeful icons, offline map and scroll story. */
:root{--radius:12px}
@media(min-width:701px){.hero{height:108svh;min-height:820px;max-height:1240px}}
.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0}
.button,.hero-note,.investment-card,.contact-form,.wide-photo,.tech-image,.gallery-item{border-radius:var(--radius)}
.investment-card{overflow:hidden}.button{border-radius:8px}.button .icon{width:19px;height:19px}.text-link .icon{color:var(--gold);width:18px;height:18px}.card-number .icon{width:22px;height:22px}.contact-phone .icon{color:var(--gold);margin-left:12px;width:25px;height:25px}.contact-email .icon{margin-left:10px;width:18px;height:18px}footer>a:not(:first-child){display:inline-flex;align-items:center;gap:10px}.gallery-item b{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff55;border-radius:50%;background:#191b1666;backdrop-filter:blur(8px)}.gallery-item b .icon{width:18px;height:18px}.gallery-item>span{align-items:center}
.hero-topline{align-items:center}.hero-status{display:flex;gap:20px;align-items:center}.sale-badge{display:inline-flex;align-items:center;border:1px solid #d3b47e66;border-radius:30px;background:#cba66b13;color:#edd4a8;padding:8px 15px;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;box-shadow:0 0 30px #cba66b08}.hero-coordinates{display:inline-flex;gap:8px;align-items:center;transition:color .2s}.hero-coordinates:hover{color:var(--gold)}.hero-coordinates .icon{width:15px;height:15px}
/* Blueprint rail: active value gets a restrained halo, not a flashing glow. */
.stats-section{background:#131712;color:var(--cream);height:280vh;border-block:1px solid var(--line)}
.stats-sticky{background:radial-gradient(ellipse at 32% 55%,#b28e4310,transparent 55%),linear-gradient(#b69c5c08 1px,transparent 1px),linear-gradient(90deg,#b69c5c08 1px,transparent 1px);background-size:auto,56px 56px,56px 56px;overflow:hidden}
.stats-sticky:before,.stats-sticky:after{content:'+';position:absolute;color:#bfa26d66;font:24px var(--heading);left:var(--pad);top:30px}.stats-sticky:after{left:auto;right:var(--pad);top:auto;bottom:25px}
.stats-section .section-kicker{border-color:var(--line);color:var(--muted)}.stats-section .section-kicker>span:first-child{color:var(--gold)}.stats-hint{display:flex;align-items:center;gap:28px}.stats-hint .icon{color:var(--gold)}
.stat{border-color:var(--line);position:relative}.stat-index{color:#a8ad9f;opacity:1}.stat strong{color:#9c875f;transition:color .35s,text-shadow .35s}.stat strong span{color:#b7a27e}.stat h2{color:#a8afa1;transition:color .35s}.stat.is-current strong{color:#efd1a0;text-shadow:0 0 25px #d8b16a30,0 0 55px #d8b16a12}.stat.is-current h2{color:var(--cream)}.stat-line{background:var(--gold);position:relative;height:1px;width:65%}.stat-line:before,.stat-line:after{content:'';position:absolute;height:7px;width:1px;top:-3px;background:var(--gold)}.stat-line:after{right:0}.rail-progress{background:var(--line)}.rail-progress span{background:var(--gold);box-shadow:0 0 10px #cba66b55}
/* Scroll sequence is enhanced only on sufficiently large screens. */
.technical-story{background:#181a16}.technical-stage{position:relative;overflow:hidden}.tech-image-anchor{height:240px;width:85%;margin-top:35px}.tech-expander{border-radius:12px;overflow:hidden;grid-column:1/-1;position:relative}.tech-expander img{width:100%;height:100%;object-fit:cover;filter:brightness(.88)}.tech-expander figcaption{position:absolute;left:0;right:0;bottom:0;padding:35px;background:linear-gradient(transparent,#0b100bcc);display:grid;gap:8px;opacity:0}.tech-expander figcaption strong{font:clamp(26px,4vw,60px) var(--heading);letter-spacing:-1.5px}.tech-expander figcaption>span:last-child{font-size:10px;letter-spacing:2px}.tech-step-indicator{display:flex;align-items:center;gap:10px;color:#67705e;font:12px var(--heading);margin-top:22px}.tech-step-indicator i{width:30px;height:1px;background:#4c5544}.tech-step-indicator .is-active{color:var(--gold)}.technical-stage .spec-group{transition:none}.technical-stage .spec-group .micro{font-size:12px;letter-spacing:2px}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){
 .tech-enhanced.technical-story{height:360vh}
 .tech-enhanced .technical-stage{position:sticky;top:0;height:100svh;min-height:700px;padding-top:60px;padding-bottom:55px;align-items:start}
 .tech-enhanced .technical-title .display{font-size:clamp(34px,4vw,64px);margin:24px 0}
 .tech-enhanced .tech-image-anchor{height:clamp(170px,26vh,250px);width:90%;margin-top:28px}
 .tech-enhanced .specs{position:relative;height:100%;min-height:500px}
 .tech-enhanced .spec-group{position:absolute;top:20%;width:100%;opacity:0;transform:translateX(70px)}
 .tech-enhanced .spec-group li{font-size:clamp(13px,1.1vw,16px);padding-block:13px}
 .tech-enhanced .tech-expander{position:absolute;grid-column:auto;z-index:3;will-change:left,top,width,height;pointer-events:none}
}
/* Quiet light cartography, with a distinct city selector. */
.location-heading{display:flex;justify-content:space-between;gap:35px;align-items:center;margin-bottom:45px}.location-heading .completion{margin-top:0;flex-shrink:0}.location-heading .display{font-size:clamp(36px,4.3vw,66px)}.location-heading .location-sub{margin-top:18px}.location-heading .address{display:flex;gap:8px;align-items:center;font-size:12px;max-width:550px}.location-heading .address .icon{width:16px;height:16px;color:#967442}
.map-experience{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:670px;background:#f0efe8;border:1px solid #c8cbbd;border-radius:18px;overflow:hidden;box-shadow:0 20px 60px #353d2010}.city-panel{padding:34px 25px;background:#f8f6ef;border-right:1px solid #d9dccf;z-index:2}.city-panel>.micro{font-size:8px;letter-spacing:1.2px;color:#8b7049}.city-panel h3{font-size:28px;letter-spacing:-1px;margin:18px 0 12px}.city-panel>p{font-size:11px;line-height:1.8;color:#717963;margin-bottom:25px}.city-button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid #dcded2;background:transparent;padding:14px 0;text-align:left;color:#3e4934;transition:background .2s,color .2s}.city-button>span:first-child{font-size:12px;margin-right:auto}.city-button strong{font:18px var(--heading);white-space:nowrap}.city-button small{font:10px var(--body);color:#777f6c}.city-route-icon{display:grid;place-items:center;min-width:34px;height:34px;border:1px solid #d8dbce;border-radius:9px;color:#82906f;transition:background .2s,color .2s,border-color .2s}.city-route-icon .icon{width:17px;height:17px}.city-button.is-active{color:#875b29}.city-button.is-active .city-route-icon{background:#b88848;border-color:#b88848;color:#fff}.city-button:focus-visible{outline:2px solid #9f7841;outline-offset:2px;border-radius:5px}.map-reset{border:0;background:none;color:#677459;display:flex;align-items:center;justify-content:space-between;width:100%;font-size:11px;margin-top:23px;padding:8px 0}.map-reset .icon{width:16px;height:16px}
.map-canvas{position:relative;min-width:0;display:flex;align-items:center;background:radial-gradient(ellipse at 50% 52%,#faf9f0,#e6eadf);overflow:hidden}.map-topline{position:absolute;top:28px;left:30px;right:25px;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.5px;color:#778168;z-index:1;pointer-events:none}.map-topline .status-dot{background:#a57f41}.map-north{display:grid;text-align:center;gap:2px}.map-north span{font-size:21px;line-height:1}.map-canvas svg#region-map{width:100%;height:auto;min-height:450px;overflow:visible}.map-river{fill:none;stroke:#a9c2bf;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.65}.map-road{fill:none;stroke:#b1b7a0;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.65;transition:opacity .3s}.has-route .map-road{opacity:.3}.map-route{fill:none;stroke:#b87932;stroke-width:4;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 1px 3px #b8793250)}.map-city{cursor:pointer;outline:none}.marker-pin{fill:#f8f8ef;stroke:#7c8b6e;stroke-width:2;transition:fill .2s}.marker-dot{fill:#7c8b6e}.map-city-label{font:500 15px var(--body);fill:#5d6a50;paint-order:stroke;stroke:#f2f3e9;stroke-width:5px;stroke-linejoin:round}.map-city.is-active .marker-pin,.map-city:focus-visible .marker-pin{fill:#b87932;stroke:#8f5c23}.map-city.is-active .marker-dot{fill:white}.map-city.is-active .map-city-label{fill:#805222;font-weight:700}.map-city:focus-visible .marker-hit{stroke:#9e7136;stroke-width:2;stroke-dasharray:3 3}.hub-halo{fill:#b9984b18;stroke:#b99c5b66;stroke-width:1}.hub-core{fill:#343e2d;stroke:#f5eddc;stroke-width:3}.hub-building{fill:none;stroke:#e3c58a;stroke-width:1.5}.hub-leader{fill:none;stroke:#989f88;stroke-dasharray:2 2}.hub-label-bg{fill:#303b2a}.hub-label{fill:#e9d8ad;font:600 12px var(--heading);letter-spacing:1px}.map-status{position:absolute;bottom:62px;left:30px;right:25px;display:grid;gap:4px;pointer-events:none}.map-status .micro{font-size:8px;color:#8b784d}.map-status strong{font:23px var(--heading);color:#3a472f;letter-spacing:-.6px}.map-status>span:last-child{font-size:10px;color:#6e785f}.map-attribution{position:absolute;bottom:18px;left:30px;right:25px;display:flex;justify-content:space-between;gap:12px;font-size:8px;color:#7e8674}.map-attribution a{text-decoration:underline}
.route-direction{width:24px;height:24px;flex-shrink:0;color:#a67b3d}.map-status strong{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.map-attribution{justify-content:flex-end}.map-town circle{fill:#97a087}.map-town text{fill:#849076;font:12px var(--body);paint-order:stroke;stroke:#eff1e5;stroke-width:4px;stroke-linejoin:round}.town-leader{fill:none;stroke:#a0aa90;stroke-width:1}.map-controls{position:absolute;right:20px;top:80px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px;background:#fbfcf4e8;border:1px solid #ced5c1;border-radius:10px;box-shadow:0 4px 18px #52643c0c}.map-controls button{display:grid;place-items:center;width:31px;height:31px;border:0;background:transparent;color:#5d7049;border-radius:6px}.map-controls button:hover:not(:disabled){background:#e4e9d8}.map-controls button:disabled{opacity:.3;cursor:default}.map-controls .icon{width:17px;height:17px}.map-zoom-level{font-size:8px;color:#879378}.map-canvas svg#region-map{cursor:grab;touch-action:pan-y}.map-canvas svg#region-map.is-dragging{cursor:grabbing;touch-action:none}.map-controls button:focus-visible{outline:2px solid #977240;outline-offset:0}
/* Inset field surfaces: focus border stays clear of labels and typed text. */
.contact-form{padding:35px;background:linear-gradient(145deg,#262b22,#20251c)}
.contact-form form label{font-size:11px;color:#c4cbb9;letter-spacing:.2px}
.contact-form form input:not([type=checkbox]),.contact-form form textarea,.contact-form form select{display:block;margin-top:9px;padding:13px 14px;border:1px solid #424b37;border-radius:8px;background:#1a2016;color:#f1eee4;outline:none!important;box-shadow:none;transition:border-color .2s,background .2s,box-shadow .2s;min-width:0;font-size:13px}
.contact-form form input:not([type=checkbox]):focus,.contact-form form textarea:focus,.contact-form form select:focus{border-color:#cba66b;background:#242b1d;box-shadow:inset 0 -2px 0 #cba66b}
.contact-form form label:focus-within{color:#e5c38d}.contact-form form input::placeholder,.contact-form form textarea::placeholder{color:#89947d;font-size:12px}.phone-field{gap:7px}.phone-field select{width:92px;padding-inline:9px}.phone-field input{width:100%}.consent input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.form-row{gap:18px}
@media(max-width:1100px){.map-experience{grid-template-columns:265px minmax(0,1fr)}.city-panel{padding:30px 20px}.map-canvas svg#region-map{width:115%;max-width:none;margin-left:-7.5%}.map-attribution{flex-direction:column;gap:2px}.map-status{bottom:70px}.location-heading .completion strong{font-size:25px}}
@media(max-width:900px){.technical-stage{grid-template-columns:1fr 1fr;gap:35px}.tech-image-anchor{display:none}.tech-step-indicator{display:none}.tech-expander{height:450px}.tech-expander figcaption{opacity:1}.spec-group{opacity:1!important;transform:none!important}.map-experience{grid-template-columns:1fr}.city-panel{border-right:0;border-bottom:1px solid #d9dccf}.city-list{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.city-panel>p{margin-bottom:12px}.map-reset{max-width:250px}.map-canvas{min-height:580px}.map-canvas svg#region-map{width:100%;margin:0;min-height:450px}.location-heading{align-items:start;flex-direction:column}.location-heading .completion{margin-top:0}.contact-form{padding:26px}}
@media(max-width:700px){.hero-status{gap:10px}.hero-place{display:none}.sale-badge{font-size:9px;padding:7px 12px}.hero-coordinates{font-size:8px;gap:5px}.hero-coordinates .icon{width:13px;height:13px}.stats-section{height:auto}.stats-sticky{background-size:auto,35px 35px,35px 35px}.stats-hint .icon{width:18px;height:18px}.stats-sticky:before,.stats-sticky:after{display:none}.stat strong{font-size:68px}.technical-stage{grid-template-columns:1fr}.technical-title .display{font-size:39px}.tech-expander{height:330px;border-radius:12px}.tech-expander figcaption{padding:20px}.tech-expander figcaption strong{font-size:28px}.technical-stage .spec-group{transition:opacity .6s,transform .6s}.js-motion .technical-stage .spec-group:not(.in-view){opacity:0!important;transform:translateX(24px)!important}.location-heading{gap:30px;margin-bottom:30px}.location-heading .display{font-size:38px}.location-heading .address{font-size:11px}.map-experience{border-radius:14px}.city-list{grid-template-columns:1fr;gap:0}.city-panel{padding:25px 22px}.city-panel h3{font-size:27px}.city-button{padding:10px 0}.city-button>span:first-child{font-size:13px}.map-canvas{min-height:485px}.map-canvas svg#region-map{min-height:330px;width:140%;max-width:none;margin-left:-20%;margin-top:-55px}.map-topline{left:18px;top:20px;right:18px;font-size:8px}.map-status{left:18px;right:18px;bottom:67px}.map-status strong{font-size:21px}.map-status>span:last-child{font-size:9px;max-width:260px}.map-attribution{left:18px;right:18px;bottom:15px;font-size:7px}.map-city-label{font-size:19px}.map-status .micro{font-size:7px}.contact-form{padding:25px 19px}.form-row{gap:0}.contact-phone .icon{width:22px;height:22px;margin-left:8px}}
@media(prefers-reduced-motion:reduce){.stats-section{height:auto}.technical-story{height:auto!important}.technical-stage{position:relative!important;height:auto!important;min-height:0!important}.tech-image-anchor,.tech-step-indicator{display:none}.tech-expander{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:420px!important;grid-column:1/-1}.tech-expander figcaption{opacity:1!important}.technical-stage .spec-group{position:relative!important;opacity:1!important;transform:none!important}.technical-stage .specs{height:auto;min-height:0}.technical-title{opacity:1!important}}
.map-canvas svg#region-map.is-zoomed{touch-action:none}
@media(max-width:700px){.map-canvas svg#region-map{width:115%;margin-left:-7.5%}.map-city-label{font-size:23px}.map-town text{font-size:17px}.map-status strong{font-size:18px;gap:8px}.route-direction{width:20px;height:20px}.map-controls{right:12px;top:65px}.map-topline{max-width:calc(100% - 35px)}}
@media(prefers-reduced-motion:reduce){.js-motion .technical-stage .spec-group:not(.in-view){opacity:1!important;transform:none!important}}
.map-river{stroke:#a7cee3;opacity:.75;stroke-width:5}.map-border{fill:none;stroke:#8b917f;stroke-width:1.5;stroke-dasharray:7 6;stroke-linecap:round;opacity:.85}.map-town .marker-hit{fill:transparent}.map-town.is-active>circle:not(.marker-hit){fill:#b87932;r:5}.map-town.is-active text{fill:#805222;font-weight:700}.map-town:focus-visible .marker-hit{stroke:#9e7136;stroke-width:2;stroke-dasharray:3 3}
/* Editorial technical lists */
.technical-stage .spec-group .micro{display:block;font:500 clamp(20px,2.2vw,32px)/1.2 var(--heading);letter-spacing:-.5px;color:#e4c28b;margin-bottom:16px}
.technical-stage .spec-group ul{counter-reset:technical-item;padding-top:0}
.technical-stage .spec-group li{counter-increment:technical-item;border-bottom:1px solid #cba66b22;padding:17px 0 17px 42px;font-size:clamp(16px,1.45vw,21px);line-height:1.5;color:#e1e5d8;letter-spacing:-.2px}
.technical-stage .spec-group li:before{content:counter(technical-item,decimal-leading-zero);font:11px var(--heading);top:22px;left:0;color:#b89b6b}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){.tech-enhanced .spec-group{top:9%}.tech-enhanced .spec-group li{font-size:clamp(16px,1.45vw,21px);padding:16px 0 16px 42px;opacity:var(--row-opacity,1);transform:translateY(var(--row-offset,0px))}}
@media(max-width:700px){.technical-stage .spec-group .micro{font-size:23px}.technical-stage .spec-group li{font-size:16px;padding-left:35px}}
/* Tablet: contact .contact-form form starts on its own full-width row. */
@media(min-width:701px) and (max-width:1100px){
 .contact-grid{grid-template-columns:minmax(0,1fr);gap:40px}
 .contact-form{width:100%;min-width:0}
 .contact-grid>div>p{max-width:600px}
 .contact .company-details{margin-top:30px}
}
/* Rail endpoints, contextual map labels and mobile architectural composition. */
.stats-track{position:relative}.stat.is-current strong{ text-shadow:0 0 22px #e5bd7950,0 0 55px #d8b16a22 }
.form-notice:empty{display:none}
.hub-leader,.hub-label-bg,.hub-label{opacity:0;transition:opacity .2s}.map-hub:hover .hub-leader,.map-hub:hover .hub-label-bg,.map-hub:hover .hub-label,.map-hub:focus .hub-leader,.map-hub:focus .hub-label-bg,.map-hub:focus .hub-label{opacity:1}
.city-tooltip{display:none;pointer-events:none}.city-tooltip rect{fill:#303b2a}.city-tooltip text{fill:#f0e5ce!important;stroke:none!important;font:600 14px var(--body)!important}.city-tooltip .tooltip-distance{fill:#cfb580!important;font-size:11px!important}.map-city.is-active .city-tooltip,.map-city:hover .city-tooltip,.map-city:focus .city-tooltip{display:block}.map-city.is-active>.map-city-label,.map-city:hover>.map-city-label,.map-city:focus>.map-city-label,.map-town.is-active>text,.map-town:hover>text,.map-town:focus>text{opacity:0}
@media(max-width:700px){
 .hero{height:1000px;min-height:1000px}
 .hero h1{top:165px;left:25px;right:25px;font-size:20vw;line-height:.92;text-align:left;letter-spacing:-.065em;transform:translateY(var(--mobile-title,0px));z-index:-1}
 .hero-word{display:block;text-transform:uppercase}
 .building-layer{top:310px;left:0;width:155%;transform:translateX(var(--mobile-pan,0vw));z-index:1}
 .dimension{top:540px;left:25px;transform:none;border-left:0;border-top:1px solid #cba66b66;padding:12px 0 0;width:115px}
 .dimension span{font-size:25px}.dimension small{font-size:8px}
 .hero-note{top:625px;left:25px;right:25px;width:auto;padding:18px 20px;transform:none;display:grid;grid-template-columns:100px 1fr;gap:16px;align-items:start}
 .hero-note .micro{font-size:8px;line-height:1.8}.hero-note p{font-size:11px;margin:0}.note-anchor{display:none}
 .hero-bottom{bottom:30px}.hero-bottom p{font-size:34px}
}
@media(prefers-reduced-motion:reduce){.hero h1,.building-layer{transform:none!important}}
/* Desktop hero: more legible property brief and highlighted plot area. */
@media(min-width:701px){
 .hero-note{width:335px;padding:25px 28px;border-color:#cba66b88;background:linear-gradient(135deg,#272b20f5,#171c14f5);box-shadow:0 15px 45px #0004,0 0 35px #cba66b0a}
 .hero-note .micro{font-size:9px;letter-spacing:1.3px}
 .hero-note p{font-size:14px;line-height:1.85;color:#e0e3d7;margin-top:14px}
 .hero-area{font-family:var(--heading);font-size:21px;font-weight:600;white-space:nowrap;color:#efd09a;text-shadow:0 0 18px #cba66b30}
}
@media(min-width:701px) and (max-width:1000px){.hero-note{width:290px;padding:20px 23px}.hero-note p{font-size:13px}.hero-area{font-size:19px}}
@media(max-width:700px){.hero-area{font-weight:600;color:var(--gold)}}
/* Keep the selected city's geographic position visible beside its tooltip. */
.city-pulse{opacity:0;pointer-events:none}.city-pulse-core{fill:#d29b4f!important;stroke:#fff3d8;stroke-width:2}.city-pulse-ring{fill:none!important;stroke:#bb8740;stroke-width:2;transform-box:fill-box;transform-origin:center}
.map-city.is-active .city-pulse,.map-city:hover .city-pulse,.map-city:focus-visible .city-pulse{opacity:1}
.map-city.is-active .city-pulse-ring,.map-city:hover .city-pulse-ring,.map-city:focus-visible .city-pulse-ring{animation:city-location-pulse 1.8s ease-out infinite}
@keyframes city-location-pulse{0%{transform:scale(1);opacity:.85}100%{transform:scale(2.7);opacity:0}}
@media(prefers-reduced-motion:reduce){.city-pulse-ring{animation:none!important;opacity:.65}}
/* Mobile hero brief: heading above the description. */
@media(max-width:700px){.hero-note{grid-template-columns:1fr;gap:9px}.hero-note .micro{display:block}.hero-note p{margin:0}}
/* Touch-first scroll chapters. */
@media(max-width:900px) and (prefers-reduced-motion:no-preference){
 .stats-section{height:350svh}.stats-sticky{position:sticky;top:0;height:100svh;min-height:0;padding:40px 0}.stats-window{overflow:hidden}.stats-track{transform:translateX(0);will-change:transform}
 
 .stat{width:80vw;min-width:0;flex-shrink:0;margin-right:12vw}.stat strong{font-size:clamp(58px,12vw,100px);letter-spacing:-4px}.stats-section .section-kicker{margin-bottom:60px}.rail-progress{display:block;margin-top:50px}
 .compact-story .technical-stage{overflow:visible}.compact-story .tech-image-anchor{display:none}
 .mobile-photo-run{height:200svh;position:relative}.mobile-photo-sticky{position:sticky;top:0;height:100svh;overflow:hidden;background:#181a16}
 .compact-story .tech-expander{position:absolute;inset:var(--photo-inset,8%);width:auto;height:auto;border-radius:10px;transition:none}.compact-story .tech-expander img{height:100%;width:100%;object-fit:cover}.compact-story .tech-expander figcaption{opacity:1}
}
.mobile-photo-run:empty{display:none}
@media(min-width:901px){.mobile-photo-run{display:none}}
@media(max-width:700px){
 .investment-cards{display:block}.investment-card:nth-child(n){position:sticky;top:24px;margin-top:0;margin-bottom:35px;box-shadow:0 -15px 35px #0005}.investment-card:nth-child(2){top:42px}.investment-card:nth-child(3){top:60px}.investment-card img{height:clamp(150px,25svh,230px)}.investment-card .card-copy{padding:22px}.investment-cards{padding-bottom:60px}
 footer{display:flex;flex-wrap:nowrap;gap:12px;justify-content:space-between;padding:22px 20px}footer small{width:auto;text-align:left;font-size:9px}footer>a:not(:first-child){font-size:0;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;order:3;flex-shrink:0}footer>a:not(:first-child) .icon{width:18px;height:18px}footer img{width:32px;height:34px}
}
.map-canvas svg#region-map{touch-action:none}
@media(prefers-reduced-motion:reduce){.mobile-photo-run{display:none}.investment-card:nth-child(n){position:relative;top:auto}}

@media(max-width:900px) and (prefers-reduced-motion:no-preference){.compact-story .tech-expander{border-radius:0}.compact-story .mobile-photo-sticky .tech-expander{grid-column:auto}}
@media(max-width:900px) and (prefers-reduced-motion:no-preference){.compact-story .mobile-photo-sticky .tech-expander{inset:var(--photo-y,15vh) var(--photo-x,8vw);border-radius:var(--photo-radius,12px)}}
/* Pinned mobile opening: complete the architectural scene before leaving. */
.hero-scene{position:absolute;inset:0;isolation:isolate;overflow:hidden}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
 .hero{height:240svh;min-height:0;max-height:none;overflow:visible}
 .hero-scene{position:sticky;inset:auto;top:0;height:100svh;min-height:0;width:100%}
 .hero-topline{top:105px}
 .hero h1{top:20%;font-size:20vw;opacity:var(--mobile-title-opacity,1)}
 .building-layer{top:36%;width:155%;left:0}
 .dimension{top:58%;left:25px;padding-top:8px}
 .dimension span{font-size:22px}
 .hero-note{top:69%;left:25px;right:25px;padding:14px 17px;gap:6px}
 .hero-note p{font-size:10px;line-height:1.6}
 .hero-bottom{bottom:18px;left:25px;right:25px}
 .hero-bottom p{font-size:22px;margin:0 0 8px}
 .hero-bottom .text-link{font-size:10px;padding-bottom:3px}
 .scroll-cue{height:38px;width:32px}
}
@media(max-width:700px) and (max-height:700px) and (prefers-reduced-motion:no-preference){
 .hero-topline{top:92px}.hero h1{top:21%;font-size:18vw}.building-layer{top:38%}.dimension{top:62%;padding-top:5px}.dimension span{font-size:18px}.dimension small{font-size:7px}.hero-note{top:73%;padding:10px 14px}.hero-note .micro{font-size:7px}.hero-bottom p{display:none}.hero-bottom{bottom:10px}
}
footer{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center}
footer small{grid-column:2;grid-row:1;text-align:right;width:auto;margin-right:12px}
footer>a:not(:first-child){grid-column:3;grid-row:1;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;font-size:0;gap:0;transition:background .2s,border-color .2s}
footer>a:not(:first-child):hover{background:#cba66b18;border-color:var(--gold)}
footer>a:not(:first-child) .icon{width:19px;height:19px;color:var(--gold)}
@media(max-width:700px){footer{padding:22px 20px;gap:12px}footer small{font-size:9px;margin:0}footer>a:not(:first-child){width:36px;height:36px}}

/* Sticky offset must follow inset reset; keep the opening scene lower. */
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
 .hero-scene{top:0}
 .hero h1{top:24%}
 .building-layer{top:41%}
 .dimension{top:62%}
 .hero-note{top:72%}
}
@media(max-width:700px) and (max-height:700px) and (prefers-reduced-motion:no-preference){
 .hero h1{top:24%}.building-layer{top:41%}.dimension{top:65%}.hero-note{top:76%}
}
footer .icon-up{fill:var(--gold);color:var(--gold)}
/* Shorter mobile scene, with navigation retained inside the pinned frame. */
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
 .hero{height:185svh}
 .hero-scene>.site-header{position:absolute;top:0;left:0;right:0;z-index:20;background:linear-gradient(#121310ee,#12131088);backdrop-filter:blur(10px)}
 .building-layer{transform:translateX(var(--mobile-pan,-22vw))}
}
footer>a:not(:first-child){padding:0;line-height:1;box-sizing:border-box;align-items:center;justify-items:center}
footer>a:not(:first-child) .icon-up{display:block;margin:0;vertical-align:initial;transform:translateY(-1px)}
/* More breathing room below the mobile navigation. */
@media(max-width:700px){.hero-topline{top:125px}}
@media(max-width:700px) and (max-height:700px){.hero-topline{top:112px}}

/* Balanced desktop technical story: centered text panels, taller image, shorter runway. */
@media(min-width:901px) and (min-height:650px) and (prefers-reduced-motion:no-preference){
 .tech-enhanced.technical-story{height:300svh}
 .tech-enhanced .technical-stage{height:100svh;min-height:0;padding:clamp(30px,5vh,60px) var(--pad);grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:7%;align-items:center}
 .tech-enhanced .technical-title{display:flex;flex-direction:column;justify-content:center;min-width:0}
 .tech-enhanced .technical-title .display{font-size:clamp(34px,3.1vw,54px);line-height:1.04;letter-spacing:-1.8px;margin:20px 0 16px}
 .tech-enhanced .technical-title>p{font-size:12px}
 .tech-enhanced .tech-image-anchor{width:100%;height:clamp(220px,36svh,420px);margin-top:25px}
 .tech-enhanced .tech-step-indicator{margin-top:18px}
 .tech-enhanced .specs{display:grid;align-items:center;height:auto;min-height:0;align-self:center}
 .tech-enhanced .spec-group{position:relative;grid-area:1/1;top:auto;align-self:center;padding:22px 0 0;border-top:1px solid #cba66b55;pointer-events:none}
 .tech-enhanced .spec-group .micro{font-size:clamp(23px,2vw,32px);margin-bottom:20px}
 .tech-enhanced .spec-group li{font-size:clamp(16px,1.25vw,21px);padding:14px 0 14px 38px;line-height:1.5}
 .tech-enhanced .spec-group li:before{top:20px}
}
@media(min-width:901px) and (min-height:650px) and (max-height:760px) and (prefers-reduced-motion:no-preference){
 .tech-enhanced .technical-title .display{font-size:34px;margin:14px 0 12px}
 .tech-enhanced .tech-image-anchor{height:32svh;margin-top:20px}
 .tech-enhanced .spec-group li{font-size:16px;padding-block:11px}
 .tech-enhanced .spec-group li:before{top:17px}
}

/* Property annotation: architectural measurement plate. */
.hero-note{background:linear-gradient(125deg,#292e23f5,#141a15fa);border:1px solid #cba66b75;border-radius:14px;padding:22px 25px;box-shadow:0 20px 55px #0005;overflow:hidden}
.hero-note:after{content:'';position:absolute;right:-30px;top:34px;width:130px;height:130px;border:1px solid #cba66b16;transform:rotate(35deg);pointer-events:none}
.hero-note .micro{display:block;font-size:8px;letter-spacing:1.7px;padding-bottom:12px;border-bottom:1px solid #cba66b30}
.hero-note p{margin-top:12px;line-height:1.6}.hero-note-lead{display:block;font-size:11px;color:#c2c7b8}.hero-note .hero-area{display:block;font:500 clamp(37px,3.3vw,52px)/1.15 var(--heading);letter-spacing:-2px;color:#e9c88e;margin:7px 0 13px}.hero-area small{font-size:.46em;letter-spacing:0;color:#bfa577}.hero-note-detail{display:block;font-size:12px;max-width:260px;color:#d0d4c7}.hero-note .note-anchor{display:none}
@media(max-width:700px){.hero-note{padding:12px 17px;display:block}.hero-note .micro{padding-bottom:7px;font-size:7px}.hero-note p{display:grid;grid-template-columns:auto 1fr;column-gap:15px;margin-top:8px;align-items:center}.hero-note-lead{grid-column:1/-1;font-size:9px}.hero-note .hero-area{font-size:34px;margin:3px 0;white-space:nowrap}.hero-note-detail{font-size:9px;line-height:1.5}.hero-note:after{top:30px;width:80px;height:80px}}
/* Full-screen photo viewer with a filmstrip. */
#lightbox{background:radial-gradient(ellipse at 50% 20%,#292d24,#10140f 75%);padding:22px clamp(16px,4vw,65px);overflow:hidden;border:0}
#lightbox[open]{display:flex;flex-direction:column;gap:16px!important}
.lightbox-header{display:flex;align-items:center;gap:24px;flex-shrink:0;border-bottom:1px solid #cba66b25;padding-bottom:14px}.lightbox-count{margin-left:auto;font:13px var(--heading);color:var(--gold);letter-spacing:2px}
#lightbox button{display:grid;place-items:center;border:1px solid #cba66b40;background:#23291e;color:#e7c78d;border-radius:50%;width:42px;height:42px;flex-shrink:0;transition:background .2s,border-color .2s}
#lightbox button:hover{background:#3a3e2c;border-color:var(--gold)}#lightbox .lightbox-close{position:static;font-size:27px;line-height:1}
.lightbox-stage{display:flex;align-items:center;justify-content:center;gap:20px;flex:1;min-height:0;touch-action:pan-y}
#lightbox figure{flex:1;min-width:0;min-height:0;height:100%;gap:12px}
#lightbox .lightbox-photo{width:100%;height:calc(100% - 30px);max-height:none;object-fit:contain;filter:drop-shadow(0 12px 24px #0005);border-radius:5px}
#lightbox figcaption{margin:0;flex-shrink:0;font-size:11px;color:#bfc4b5;letter-spacing:.4px;text-align:center}
#lightbox .lightbox-prev,#lightbox .lightbox-next{font:32px/1 var(--heading)}
.lightbox-thumbs{display:flex;gap:10px;overflow-x:auto;flex-shrink:0;max-width:100%;padding:8px 2px 12px;margin:0 auto;scrollbar-width:thin;scrollbar-color:#8e794e #20261d}
#lightbox .lightbox-thumbs button{width:88px;height:64px;border-radius:7px;padding:3px;border-color:transparent;background:transparent;opacity:.5}
#lightbox .lightbox-thumbs button[aria-pressed=true]{opacity:1;border-color:var(--gold);background:#cba66b18}#lightbox .lightbox-thumbs button:hover{opacity:1}
#lightbox .lightbox-thumbs img{width:100%;height:100%;object-fit:cover;border-radius:4px;max-height:none}
@media(max-width:700px){#lightbox{padding:14px 12px}#lightbox[open]{gap:12px!important}.lightbox-header{gap:12px;padding-bottom:10px}.lightbox-header .micro{font-size:8px}.lightbox-stage{gap:7px}#lightbox .lightbox-prev,#lightbox .lightbox-next{width:30px;height:38px;font-size:25px}#lightbox .lightbox-thumbs button{width:67px;height:52px}#lightbox figcaption{font-size:9px}.lightbox-thumbs{gap:6px}}

/* Native vector cursor avoids a JavaScript pointer-following layer. */
@media(hover:hover) and (pointer:fine){
 body,body *{cursor:url('assets/cursor.svg') 3 2,auto}
 a,a *,button,button *,summary,summary *,[role=button],[role=button] *{cursor:url('assets/cursor-active.svg') 3 2,pointer}
 input,textarea,[contenteditable=true]{cursor:text}
 .plan-viewport,.plan-viewport *,.map-canvas,.map-canvas *{cursor:grab}
 .plan-viewport.is-dragging,.plan-viewport.is-dragging *{cursor:grabbing}
}
#lightbox{align-items:stretch}
#lightbox button{padding:0;line-height:0;display:flex;align-items:center;justify-content:center}
#lightbox button>svg{display:block;width:22px;height:22px;flex-shrink:0;margin:0}
#lightbox .lightbox-stage{width:100%}
#lightbox figure{display:flex;align-items:center;justify-content:center}
#lightbox .lightbox-photo{width:auto;height:auto;max-width:100%;max-height:calc(100% - 35px);flex-shrink:1;min-height:0;object-fit:contain;border-radius:16px}
footer>a:not(:first-child){display:flex;align-items:center;justify-content:center}
footer>a:not(:first-child) .icon-up{width:19px;height:19px;transform:none;margin:0}

/* A window onto the fixed architectural photograph. */
@media(min-width:901px) and (prefers-reduced-motion:no-preference){
 .intro .wide-photo{background:url('assets/web/Lafer-hala-1.avif') center center/cover fixed;isolation:isolate}
 .intro .wide-photo img{opacity:0}
 .intro .wide-photo.reveal{transform:none!important}
}
.sale-badge .status-dot{position:relative;animation:sale-pulse 2.4s ease-in-out infinite}
.sale-badge .status-dot:after{content:'';position:absolute;inset:-4px;border:1px solid #cba66b88;border-radius:50%;animation:sale-ring 2.4s ease-out infinite}
@keyframes sale-pulse{0%,100%{opacity:.45;box-shadow:0 0 4px #cba66b33}50%{opacity:1;box-shadow:0 0 13px #cba66b99}}
@keyframes sale-ring{0%{transform:scale(.5);opacity:0}25%{opacity:.6}100%{transform:scale(1.6);opacity:0}}
.site-header nav a{position:relative;padding:9px 1px;transition:color .2s;letter-spacing:.3px}
.site-header nav a:after{content:'';position:absolute;left:0;right:0;bottom:1px;height:1px;background:linear-gradient(90deg,var(--gold),#cba66b22);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.site-header nav a:before{content:'';position:absolute;width:3px;height:3px;background:var(--gold);border-radius:50%;left:50%;bottom:-5px;opacity:0;transition:opacity .3s}
.site-header nav a:hover:after,.site-header nav a:focus-visible:after{transform:scaleX(1)}
.site-header nav a:hover:before,.site-header nav a:focus-visible:before{opacity:1}
.hero .scroll-cue{border:0;background:none;width:30px;height:46px;opacity:.5;transition:opacity .25s}
.hero .scroll-cue:hover{opacity:.9}.scroll-cue svg{display:block;width:28px;height:42px;stroke:#d1c3a8;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.scroll-wheel{animation:scroll-wheel 2.2s ease-in-out infinite}.scroll-chevron{animation:scroll-chevron 2.2s ease-in-out infinite}
@keyframes scroll-wheel{0%{transform:translateY(0);opacity:0}25%{opacity:1}80%,100%{transform:translateY(9px);opacity:0}}
@keyframes scroll-chevron{0%,100%{opacity:.25;transform:translateY(-1px)}50%{opacity:.75;transform:translateY(2px)}}
@media(hover:hover) and (pointer:fine){
 html,body,body *{cursor:url('assets/cursor.svg') 3 2,auto}
 a,a *,button,button *,summary,summary *,[role=button],[role=button] *{cursor:url('assets/cursor-active.svg') 3 2,pointer}
 input,textarea,[contenteditable=true]{cursor:text}
 select,select *,input[type=checkbox],label[for]{cursor:url('assets/cursor-hand.svg') 12 3,pointer}
 .plan-viewport,.plan-viewport *,.map-canvas,.map-canvas *,.lightbox-thumbs{cursor:url('assets/cursor-grab.svg') 15 15,grab}
 .plan-label,.plan-label *,[role=button].map-city,[role=button].map-city *{cursor:url('assets/cursor-hand.svg') 12 3,pointer}
 .plan-viewport.is-dragging,.plan-viewport.is-dragging *,#region-map.is-dragging,#region-map.is-dragging *{cursor:url('assets/cursor-grabbing.svg') 15 15,grabbing}
 .map-canvas button,.map-canvas button *, .plan-zoom button,.plan-zoom button *{cursor:url('assets/cursor-active.svg') 3 2,pointer}
}
@media(prefers-reduced-motion:reduce){.sale-badge .status-dot,.sale-badge .status-dot:after,.scroll-wheel,.scroll-chevron{animation:none}.sale-badge .status-dot:after{display:none}}
@media(max-width:900px) and (prefers-reduced-motion:no-preference){.intro .wide-photo{height:420px}.intro .wide-photo img{height:140%;object-position:center;transform:translateY(var(--photo-reveal,0px));will-change:transform}}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){.intro .wide-photo{height:300px}}

/* Clear sale status and expanded gallery affordance. */
.sale-badge{padding:12px 23px;font-size:14px;letter-spacing:2px;border-color:#e0bc78;background:linear-gradient(125deg,#d4ae6b,#eed3a1);color:#22271d;box-shadow:0 5px 24px #0003,0 0 25px #cba66b20}
.sale-badge .status-dot{width:8px;height:8px;background:#343d28;margin-right:12px}.sale-badge .status-dot:after{border-color:#53633b99}
.more-gallery summary{margin-top:24px;padding:20px 24px;border:1px solid #cba66b88;border-radius:10px;background:linear-gradient(115deg,#cba66b1c,#cba66b08);font-size:14px;color:#ece5d7;align-items:center;gap:18px;transition:background .2s,border-color .2s}
.more-gallery summary:hover{background:#cba66b26;border-color:var(--gold)}.more-gallery summary>span{display:flex;align-items:center;gap:18px;font-size:12px;white-space:nowrap}.more-gallery summary b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--gold);color:#23271e;font:24px/1 var(--heading);font-weight:400;transition:transform .25s}.more-gallery[open] summary b{transform:rotate(45deg)}
@media(max-width:700px){.sale-badge{padding:10px 16px;font-size:11px;letter-spacing:1.3px}.sale-badge .status-dot{width:6px;height:6px;margin-right:10px}.more-gallery summary{padding:17px 16px;font-size:12px}.more-gallery summary>span{font-size:10px;gap:9px}.dimension small{font-size:7px;letter-spacing:.5px}}

/* Hero emphasis: prominent sale seal and production/storage area. */
.hero .sale-badge{position:relative;isolation:isolate;padding:13px 27px;border-radius:10px;border:1px solid #f2d69f;font-family:var(--heading);font-size:clamp(21px,1.7vw,28px);font-weight:700;line-height:1.2;letter-spacing:2px;background:linear-gradient(120deg,#b99050 0%,#f1d6a0 48%,#cba66b 100%);box-shadow:0 8px 28px #0004,0 0 30px #d4b47726,inset 0 0 0 4px #24291b12;text-shadow:0 1px 0 #ffffff30}
.hero .sale-badge:before{content:'';position:absolute;inset:4px;border:1px solid #fff4;border-radius:6px;pointer-events:none}.hero .sale-badge .status-dot{width:9px;height:9px;margin-right:15px;flex-shrink:0}
.hero .dimension{padding-left:20px;border-left:2px solid #d9b77b;max-width:310px}
.hero .dimension span{font-size:clamp(36px,3.2vw,54px);line-height:1.12;letter-spacing:-1.6px;text-shadow:0 2px 14px #0008}
.hero .dimension small{display:block;font-size:clamp(10px,.8vw,13px);line-height:1.5;letter-spacing:1.2px;margin-top:8px;color:#ecd2a1;text-shadow:0 1px 8px #000}
@media(max-width:1000px) and (min-width:701px){.hero-place{font-size:8px}.hero-status{gap:14px}.hero .dimension{max-width:240px}}
@media(max-width:700px){.hero .sale-badge{padding:12px 17px;font-size:18px;letter-spacing:1.1px;border-radius:9px}.hero .sale-badge .status-dot{width:7px;height:7px;margin-right:11px}.hero .dimension{width:230px;max-width:calc(100% - 50px);padding:9px 0 0;border-left:0;border-top:1px solid #d9b77b99}.hero .dimension span{font-size:34px;letter-spacing:-1px}.hero .dimension small{font-size:10px;letter-spacing:.7px;margin-top:4px;line-height:1.4}.hero-topline{gap:12px}.hero-coordinates{white-space:nowrap}}
@media(max-width:370px){.hero .sale-badge{font-size:16px;padding:12px 13px}.hero .dimension span{font-size:30px}.hero .dimension small{font-size:9px}}
@media(max-width:700px) and (max-height:700px){.hero .dimension{padding-top:5px}.hero .dimension span{font-size:28px}.hero .dimension small{font-size:9px;margin-top:2px}}

/* Quiet outlined sale badge and a naturally spaced mobile information stack. */
.hero-info-stack{display:contents}
.hero .sale-badge{background:#171c1533;color:#e8c992;border:1px solid #cba66b99;box-shadow:none;text-shadow:0 0 10px #d4ae6b33;font-size:clamp(19px,1.6vw,25px);padding:12px 24px;animation:sale-text-glow 3.4s ease-in-out infinite}
.hero .sale-badge:before{display:none}.hero .sale-badge .status-dot{background:#d5b47c}.hero .sale-badge .status-dot:after{border-color:#cba66b66}
@keyframes sale-text-glow{0%,100%{text-shadow:0 0 6px #d6b37520}50%{text-shadow:0 0 15px #e6bd7866,0 0 3px #e6bd7844}}
.hero .dimension span{font-size:clamp(32px,2.7vw,45px)}
@media(max-width:700px){
 .hero .sale-badge{font-size:17px;padding:11px 17px}
 .hero-info-stack{display:grid;position:absolute;left:25px;right:25px;bottom:20px;gap:18px;z-index:3}
 .hero .hero-info-stack .dimension{position:static;transform:none;max-width:none;width:auto;border:0;padding:0}
 .hero .dimension span{font-size:29px;line-height:1.1}.hero .dimension small{font-size:9px;margin-top:5px;letter-spacing:.7px}
 .hero .hero-info-stack .hero-note{position:relative;inset:auto;width:auto;padding:14px 16px;transform:none;display:block;background:linear-gradient(125deg,#23291fe8,#161c16eb)}
 .hero-note .micro{font-size:7px;letter-spacing:1.3px;padding-bottom:8px}.hero-note p{margin-top:9px;column-gap:17px}.hero-note-lead{font-size:9px}.hero .hero-note .hero-area{font-size:30px;margin:4px 0 0;letter-spacing:-1px}.hero-note-detail{font-size:9px;line-height:1.6}
 .hero .hero-info-stack .hero-bottom{position:relative;inset:auto;display:flex;align-items:center;min-height:48px}
 .hero .hero-bottom p{font-size:19px;line-height:1.2;letter-spacing:-.5px;margin:0 45px 10px 0}
 .hero .hero-bottom .text-link{font-size:10px;gap:25px;padding-bottom:4px}.hero .hero-bottom .scroll-cue{right:0;left:auto;bottom:3px}
}
@media(max-width:700px) and (max-height:740px){.hero-info-stack{gap:13px;bottom:15px}.hero .dimension span{font-size:26px}.hero .hero-info-stack .hero-note{padding:11px 14px}.hero .hero-bottom p{display:none}.hero .hero-info-stack .hero-bottom{min-height:32px}.hero .hero-note .hero-area{font-size:28px}}
@media(prefers-reduced-motion:reduce){.hero .sale-badge{animation:none}}
