:root{--ink: #2a2219;--ink-soft: #5b4f43;--sand: #e9dcc6;--glass: rgba(250, 244, 234, .2);--glass-strong: rgba(250, 244, 234, .42);--rim: rgba(255, 255, 255, .45);--available: #3e6b4f;--reserved: #b7832f;--sold: #8c8279;--gap: clamp(14px, 2vw, 28px);--fade: .45s;--ui: "Readex Pro", system-ui, sans-serif;--display: "Reem Kufi", "Readex Pro", serif;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#1d1813}body{font:400 15px/1.6 var(--ui);color:var(--ink);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid #fff;outline-offset:3px}.stage{position:fixed;left:50%;top:50%;z-index:0;width:max(100vw,177.78vh);height:max(56.25vw,100vh);transform:translate(calc(-50% + var(--pan, 0px)),-50%);touch-action:none;direction:ltr;transform-origin:var(--ox, 50%) var(--oy, 50%);transition:transform .9s cubic-bezier(.6,0,.2,1),filter .9s ease}body[data-room] .stage{transform:translate(calc(-50% + var(--pan, 0px)),-50%) scale(1.6);filter:blur(8px)}body.panning .stage{transition:none}.pano{position:fixed;inset:0;z-index:1;width:100%;height:100%;opacity:0;pointer-events:none;transform:scale(1.08);transition:opacity .6s ease .3s,transform 1.2s cubic-bezier(.2,.7,.2,1) .3s;touch-action:none;cursor:grab}.pano:active{cursor:grabbing}.pano:focus-visible{outline:none}body[data-room] .pano{opacity:1;pointer-events:auto;transform:none}.pano.swap{opacity:0!important;transition:opacity .25s ease}.clips{position:absolute;inset:0;isolation:isolate}.clip{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity var(--fade) ease}.clip.on{opacity:1}.pins{position:absolute;inset:0;z-index:1}.veil{position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(29,24,19,.55),transparent 38%),linear-gradient(to bottom,rgba(29,24,19,.25),transparent 22%)}.glass{background:var(--glass);border:1px solid var(--rim);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 1px #ffffff80 inset,0 12px 40px #281c0e2e}.top,.hero{pointer-events:none}.top>*,.hero .back{pointer-events:auto}.top{position:fixed;z-index:2;inset-inline:var(--gap);top:var(--gap);display:flex;align-items:center;gap:10px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:600 18px/1 var(--display);color:#fff;padding:12px 18px;border-radius:999px;text-shadow:0 1px 8px rgba(40,28,14,.35)}.crumbs{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;color:#fff;font-size:14px}.crumbs button{background:none;border:0;padding:0;color:#ffffffc7}.crumbs button:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.crumbs[hidden]{display:none}.crumbs i{font-style:normal;opacity:.5}.crumbs [aria-current]{font-weight:500}.brand:before{content:"";width:11px;height:11px;opacity:.85;background:radial-gradient(circle,currentColor 1.6px,transparent 1.9px) 0 0 / 5.5px 5.5px}.brand:hover{background:var(--glass-strong);color:var(--ink);text-shadow:none}.lang{margin-inline-start:auto;padding:10px 18px;border-radius:999px;color:#fff}.lang:hover{background:var(--glass-strong);color:var(--ink)}.hero{position:fixed;z-index:2;left:var(--gap);bottom:var(--gap);max-width:min(56vw,760px);color:#fff;transition:opacity var(--fade) ease,transform var(--fade) ease}.title{margin:0;font:600 clamp(52px,7.5vw,124px)/1 var(--display);letter-spacing:-.01em;text-shadow:0 2px 30px rgba(40,28,14,.45)}html[dir=ltr] .title{letter-spacing:-.03em}.subtitle{margin:10px 0 0;font-size:clamp(15px,1.3vw,19px);font-weight:300;opacity:.92}.back{margin-bottom:18px;padding:9px 18px 9px 16px;border-radius:999px;color:#fff;display:inline-flex;align-items:center;gap:8px}.back:before{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 0 1.5px 1.5px;transform:rotate(45deg)}html[dir=rtl] .back:before{transform:rotate(-135deg)}.back[hidden]{display:none}.back:hover{background:var(--glass-strong);color:var(--ink)}.panel{position:fixed;z-index:2;right:var(--gap);top:84px;width:min(380px,calc(100vw - 2 * var(--gap)));max-height:calc(100vh - 84px - var(--gap));overflow:auto;padding:22px;border-radius:22px;background:#faf4ea9e;transition:opacity var(--fade) ease,transform var(--fade) ease}.panel-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin:-6px 0 10px;padding:0;border:0;background:none;font-size:13px;color:var(--ink-soft)}.panel-toggle:after{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(-135deg) translateY(-2px);transition:transform .2s ease}.panel.is-closed{width:auto;padding:0;overflow:visible;background:#2a221957}.panel.is-closed .panel-body{display:none}.panel.is-closed .panel-toggle{margin:0;padding:10px 18px;gap:12px;color:#fff;text-shadow:0 1px 6px rgba(40,28,14,.4)}.panel.is-closed .panel-toggle:after{transform:rotate(45deg) translateY(-2px)}.panel.is-closed:hover{background:var(--glass-strong)}.panel.is-closed:hover .panel-toggle{color:var(--ink);text-shadow:none}.lead{margin:0 0 18px;color:var(--ink);font-size:15px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin:0 0 18px}.stats div{border-top:1px solid rgba(42,34,25,.14);padding-top:8px}.stats dt{font-size:12.5px;color:var(--ink-soft)}.stats dd{margin:2px 0 0;font:500 21px/1.25 var(--ui);font-variant-numeric:tabular-nums}.stats dd bdi,.units bdi,.price bdi,.room bdi{font-size:.62em;font-weight:400;color:var(--ink-soft)}.features{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}.features li{font-size:13px;padding:5px 11px;border-radius:999px;background:#ffffff8c}.price{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}.price strong{font:500 26px/1 var(--ui);font-variant-numeric:tabular-nums}.chip{font-size:12px;padding:3px 10px;border-radius:999px;color:#fff;white-space:nowrap}.s-available{background:var(--available)}.s-reserved{background:var(--reserved)}.s-sold{background:var(--sold)}.units{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:6px}.unit{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"id meta chip" "id price price";gap:0 12px;align-items:center;padding:10px 12px;border-radius:14px;background:#fff6}.unit.is-link{cursor:pointer;background:#ffffffbf;box-shadow:0 0 0 1px var(--available)}.unit.is-link:hover{background:#fff}.u-id{grid-area:id;font:600 17px/1 var(--display)}.u-meta{grid-area:meta;font-size:13px;color:var(--ink-soft)}.u-price{grid-area:price;font-variant-numeric:tabular-nums}.unit .chip{grid-area:chip}.room{margin:0 0 16px;padding:12px 14px;border-radius:14px;background:#fff}.room h3{margin:0 0 4px;font:600 17px/1.3 var(--display)}.room p{margin:0;font-size:13.5px;color:var(--ink-soft)}.room p b{color:var(--ink);font-weight:500;margin-inline-end:6px}.cta{margin-top:18px;width:100%;padding:13px;border:0;border-radius:14px;background:var(--ink);color:var(--sand);font-weight:500}.cta:hover{background:#000}.pin{position:absolute;left:calc(var(--x) * 100%);top:calc(var(--y) * 100%);transform:translate(-50%,-50%);padding:0;border:0;background:none;display:grid;place-items:center;transition:opacity var(--fade) ease}.dot{width:18px;height:18px;border-radius:50%;background:#ffffffd9;box-shadow:0 0 0 5px #ffffff47,0 4px 14px #281c0e59;position:relative}.dot:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid #fff;animation:halo 2.6s ease-out infinite}@keyframes halo{0%{transform:scale(1);opacity:.9}to{transform:scale(2.6);opacity:0}}.tag{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);display:grid;gap:1px;padding:9px 14px;border-radius:14px;white-space:nowrap;text-align:center;color:#fff;text-shadow:0 1px 6px rgba(40,28,14,.4);transition:opacity .2s ease,transform .2s ease,background .2s ease}html[dir=rtl] .tag{direction:rtl}html[dir=ltr] .tag{direction:ltr}.tag b{font:600 17px/1.2 var(--display)}.tag small{font-size:12.5px;opacity:.9}.pin:hover .tag,.pin:focus-visible .tag{background:var(--glass-strong);color:var(--ink);text-shadow:none;transform:translate(-50%) translateY(-3px)}.pin-info .dot{width:12px;height:12px}.pin-info .dot:after{animation:none;opacity:0}.pin-info .tag{opacity:0;pointer-events:none;transform:translate(-50%) translateY(4px)}.pin-info:hover .tag,.pin-info:focus-visible .tag,.pin-info.is-active .tag{opacity:1;transform:translate(-50%)}.tag{translate:var(--shift, 0px) 0}.tag-note{display:block;width:max-content;max-width:250px;margin-top:4px;white-space:normal;font-size:13px;line-height:1.5;opacity:.95}.pin-info.is-active .tag{background:var(--glass-strong);color:var(--ink);text-shadow:none}.pin-info.is-active .dot{background:var(--available);box-shadow:0 0 0 5px #3e6b4f59}.pin-360{z-index:2}.pin-360 .dot{width:auto;height:26px;padding:0 10px;border-radius:999px;display:grid;place-items:center;background:#ffffffeb}.pin-360 .dot i{font:600 11.5px/1 var(--ui);font-style:normal;color:var(--ink);letter-spacing:.02em}.pin-info.pin-360 .dot:after{border-radius:999px;opacity:1;animation:halo-pill 2.6s ease-out infinite}.pin-360:hover .dot{background:#fff;transform:scale(1.06)}@keyframes halo-pill{0%{transform:scale(1);opacity:.9}to{transform:scale(1.7,2.2);opacity:0}}.roomui{position:fixed;z-index:2;right:var(--gap);bottom:var(--gap);display:grid;justify-items:end;gap:10px;opacity:0;pointer-events:none;transition:opacity var(--fade) ease}body[data-room] .roomui{opacity:1;pointer-events:auto}.hint{margin:0;color:#fff;font-size:13px;text-shadow:0 1px 8px rgba(40,28,14,.5)}.roombar{display:flex;gap:4px;padding:5px;border-radius:999px}.roombar button{border:0;background:none;color:#fff;padding:9px 16px;border-radius:999px;font-size:14px}.roombar button:hover{background:#ffffff38}.roombar [aria-current]{background:#faf4eaeb;color:var(--ink)}.roombar [aria-current]:hover{background:#fff}body[data-room] .top .glass{background:#2a221957}body[data-room] .pins,body[data-room] .panel,body[data-moving="1"] .pins,body[data-moving="1"] .panel,body[data-moving="1"] .hero{opacity:0;pointer-events:none}body[data-moving="1"] .panel{transform:translateY(12px)}body[data-moving="1"] .hero{transform:translateY(8px)}body[data-moving="1"] .roomui{opacity:0;pointer-events:none}.loader{position:fixed;inset:0;z-index:9;display:grid;place-content:center;gap:14px;background:var(--sand);color:var(--ink);text-align:center;transition:opacity .7s ease,visibility .7s}.loader.done{opacity:0;visibility:hidden;pointer-events:none}.loader p{margin:0;font:500 22px/1.2 var(--display)}.bar{width:180px;height:2px;background:#2a221926;margin-inline:auto}.bar i{display:block;height:100%;width:0;background:var(--ink);transition:width .2s}.toast{position:fixed;z-index:8;top:84px;left:50%;transform:translate(-50%);padding:10px 18px;border-radius:999px;background:var(--glass-strong);font-size:14px}body.edit .stage{cursor:crosshair}body[data-waiting]:after{content:"";position:fixed;z-index:3;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;opacity:0;animation:spin .9s linear infinite,appear .3s ease .5s forwards}@keyframes spin{to{transform:rotate(1turn)}}@keyframes appear{to{opacity:1}}@media(max-width:760px){.roomui{left:var(--gap);justify-items:center;bottom:calc(var(--gap) + env(safe-area-inset-bottom))}.roombar{max-width:100%;overflow-x:auto}.roombar button{white-space:nowrap;padding:8px 12px;font-size:13px}.crumbs{display:none!important}.hero{left:var(--gap);right:var(--gap);bottom:auto;top:84px;max-width:calc(100vw - 2 * var(--gap))}.panel{inset:auto 0 0;width:100%;max-height:46vh;border-radius:22px 22px 0 0;padding:18px var(--gap) calc(18px + env(safe-area-inset-bottom))}.panel.is-closed{left:auto;right:var(--gap);bottom:calc(var(--gap) + env(safe-area-inset-bottom));width:auto;padding:0;border-radius:999px}.veil{background:linear-gradient(to bottom,rgba(29,24,19,.5),transparent 45%)}.tag b{font-size:15px}}@media(prefers-reduced-motion:reduce){.stage,.pano{transition:opacity .3s ease}.pin-info.pin-360 .dot:after{animation:none}.dot:after{animation:none}.tag,.hero,.panel{transition:none}}.home{position:fixed;inset:0;background:#1d1813;color:#fff}.home-top{position:absolute;z-index:2;inset-inline:var(--gap);top:var(--gap);display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:16px;pointer-events:none}.home-top>*{pointer-events:auto}.home-intro{text-align:center;text-shadow:0 1px 12px rgba(29,24,19,.55)}.home-intro h1{margin:0;font:500 17px/1.3 var(--ui)}.home-intro p{margin:4px 0 0;font-size:13.5px;font-weight:300;opacity:.9}.home-top .lang{justify-self:end;margin:0}.projects{position:absolute;inset:0;display:flex}.project{position:relative;flex:1 1 0;overflow:hidden;color:#fff;text-decoration:none;transition:flex-grow .8s cubic-bezier(.2,.7,.2,1),filter .6s ease}.project+.project{border-inline-start:1px solid rgba(255,255,255,.35)}.project img,.project video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project video{opacity:0;transition:opacity .6s ease}.project.is-playing video{opacity:1}.project:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,#1d1813b8,#1d18131a 55%,#1d181359)}.project:hover,.project:focus-visible{flex-grow:1.7}.projects:has(.project:hover,.project:focus-visible) .project:not(:hover,:focus-visible){filter:brightness(.62) saturate(.85)}.project:focus-visible{outline:2px solid #fff;outline-offset:-6px}.project-text{position:absolute;z-index:1;inset-inline-start:var(--gap);bottom:calc(var(--gap) + 8px);display:grid;justify-items:start;gap:8px;max-width:min(34rem,calc(100% - 2 * var(--gap)))}.project-place{font-size:14px;font-weight:300;opacity:.92;text-shadow:0 1px 10px rgba(29,24,19,.6)}.project-name{font:600 clamp(46px,6.2vw,104px)/1 var(--display);text-shadow:0 2px 30px rgba(29,24,19,.45)}html[dir=ltr] .project-name{letter-spacing:-.03em}.project-line{font-size:15px;line-height:1.55;max-width:38ch;opacity:.94;text-shadow:0 1px 10px rgba(29,24,19,.6)}.project-enter{margin-top:10px;padding:10px 20px;border-radius:999px;font-size:14px;transition:background .2s ease,color .2s ease}.project:hover .project-enter,.project:focus-visible .project-enter{background:#faf4eaeb;color:var(--ink)}@media(max-width:760px){.home-top{grid-template-columns:1fr auto}.home-intro{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.projects{flex-direction:column}.project+.project{border-inline-start:0;border-top:1px solid rgba(255,255,255,.35)}.project-name{font-size:clamp(38px,11vw,56px)}.project-line{font-size:14px}.project-enter{margin-top:4px}}@media(prefers-reduced-motion:reduce){.project{transition:none}}
