:root{font-family:Arial,Helvetica,sans-serif;color:#0b3344;background:#f4f6f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #bc8147;outline-offset:5px}header{background:#fff;min-height:116px;display:flex;align-items:center;gap:40px;padding:20px 5%;border-bottom:1px solid #dde3e5}.logo{width:175px;height:73px;object-fit:cover}.project{border-left:1px solid #d9e0e2;padding-left:35px}.project>span,.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700}.project>span{color:#687c84}h1{font-family:Georgia,serif;font-weight:400;font-size:27px;margin:7px 0 0}.floor-label{margin-left:auto;font-size:14px;padding:12px 18px;border:1px solid #d7dfe1;border-radius:30px}main{max-width:1800px;margin:auto;padding:36px 5% 25px}.heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{color:#8e6136;margin:0 0 10px}h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(25px,2.4vw,37px);margin:0 0 10px}.heading p:last-child{font-size:16px;color:#5d717a;margin:0;line-height:1.5}.map-tools{display:flex;border:1px solid #d5dfe2;border-radius:12px;overflow:hidden;background:white;flex-shrink:0}.map-tools button{height:45px;border:0;background:transparent;color:#0b3344;padding:0 17px;transition:background .2s}.map-tools button:hover{background:#e5ecee}.map-tools button:first-child,.map-tools button:last-child{font-size:23px}.plan-card{background:white;border:1px solid #dce3e4;border-radius:18px;overflow:hidden;box-shadow:0 15px 45px #163e4d08}.plan-scroll{overflow:auto;max-height:65vh;scrollbar-width:thin;overscroll-behavior:contain}.plan{position:relative;width:100%;line-height:0;margin:auto}.floorplan{width:100%;display:block;user-select:none}.hotspot{position:absolute;width:44px;height:44px;transform:translate(-50%,-50%);border:0;background:none;padding:0;isolation:isolate;overflow:visible;z-index:2}.hotspot .number{position:absolute;inset:6px;display:grid;place-items:center;border-radius:50%;color:white;background:#0b3344;border:2px solid #f4dfc9;box-shadow:0 3px 10px #05293655;font-size:12px;font-weight:bold;line-height:1;animation:breath 2.8s ease-in-out infinite;animation-delay:var(--delay)}.hotspot .ring{position:absolute;inset:6px;border:1px solid #bc8147;border-radius:50%;animation:ripple 2.8s ease-out infinite;animation-delay:var(--delay);z-index:-1}.cone{position:absolute;width:112px;height:112px;left:22px;top:22px;transform:translate(-50%,-50%) rotate(var(--angle));pointer-events:none;z-index:-2;overflow:visible}.cone path{fill:#c8904860;stroke:#a66e3260;stroke-width:1;transform-origin:56px 56px;animation:radar 2.8s ease-in-out infinite;animation-delay:var(--delay)}.hotspot:hover,.hotspot:focus-visible{z-index:5}.hotspot:hover .number{background:#a66e32;scale:1.18}.hotspot .tooltip{position:absolute;bottom:49px;left:50%;transform:translateX(-50%);padding:10px 14px;background:#0b3344;color:white;white-space:nowrap;border-radius:8px;font-size:14px;line-height:1.2;opacity:0;pointer-events:none;transition:opacity .2s}.hotspot:hover .tooltip,.hotspot:focus-visible .tooltip{opacity:1}.plan-bottom{display:flex;justify-content:space-between;gap:18px;padding:18px 22px;border-top:1px solid #edf0f1;color:#627781;font-size:13px;line-height:1.5}.plan-bottom>span:first-child{color:#0b3344;display:flex;align-items:center;gap:9px}.legend{width:8px;height:8px;border-radius:50%;background:#b67c42;box-shadow:0 0 0 4px #c7904920}.view-list{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;margin:22px 0 32px}.view-list button{display:flex;text-align:left;align-items:center;gap:9px;border:1px solid #dce3e4;background:#fff;border-radius:12px;padding:13px 10px;color:#294955;font-size:13px;transition:transform .2s,box-shadow .2s;min-height:60px}.view-list button:hover{transform:translateY(-4px);box-shadow:0 6px 15px #0b334415;border-color:#bd8e5e}.view-list b{color:#966536;font-size:14px}.view-list span{line-height:1.4}footer{display:flex;justify-content:space-between;color:#74858b;font-size:12px;letter-spacing:1.5px;padding-bottom:45px}.site-link{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));right:24px;z-index:50;display:flex;align-items:center;gap:10px;border:1px solid #d5af82;border-radius:40px;background:#0b3344;color:white;text-decoration:none;padding:10px 18px 10px 10px;box-shadow:0 8px 24px #05243235;transition:transform .25s,background .25s}.site-link span{display:grid;place-items:center;width:36px;height:36px;background:#d5a16b;color:#0b3344;border-radius:50%;font-size:25px}.site-link b{font-size:14px;font-weight:500}.site-link:hover{transform:translateY(-4px);background:#17516a}dialog{border:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;background:#081b25;color:white;overflow:auto}dialog[open]{display:flex;flex-direction:column;animation:enter .35s ease}dialog::backdrop{background:#081b25}.viewer-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 4%;flex-shrink:0}.viewer-top>div{text-align:right}.viewer-top h2{font-size:24px;margin:5px 0 0}.viewer-top>div>span{font-size:12px;color:#c7aa89;letter-spacing:2px}.back{border:1px solid #627680;border-radius:35px;padding:13px 20px;background:#163541;color:white;font-size:14px;transition:background .2s,transform .2s}.back span{display:inline-block;margin-right:12px;transition:transform .2s}.back:hover{background:#285261}.back:hover span{transform:translateX(-4px)}.image-area{flex:1;min-height:0;display:grid;place-items:center;position:relative;padding:0 3%}.image-area img{width:100%;height:100%;object-fit:contain;max-height:calc(100dvh - 190px);position:relative;z-index:1}.image-area img[hidden]{display:none}.image-area p{position:absolute;color:#d8e2e6;font-size:16px;padding:30px;text-align:center;line-height:1.6}.viewer-bottom{display:flex;justify-content:space-between;padding:24px 4% 85px;color:#92a8b2;letter-spacing:2px;font-size:12px}.viewer-bottom span:last-child{margin-right:140px}@keyframes ripple{0%{scale:.9;opacity:.9}100%{scale:2.1;opacity:0}}@keyframes breath{50%{box-shadow:0 0 0 4px #bf8e4f26,0 3px 15px #05293655}}@keyframes radar{0%,100%{opacity:.4;scale:.82}55%{opacity:.9;scale:1}}@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(min-width:1500px){main{padding-top:45px}.plan-bottom{padding:22px}}@media(max-width:1000px){.view-list{grid-template-columns:repeat(4,1fr)}header{gap:20px}.project{padding-left:20px}.floor-label{font-size:12px}.plan-scroll{max-height:60vh}}@media(max-width:600px){header{padding:14px 5%;gap:14px;flex-wrap:wrap;min-height:90px}.logo{width:114px;height:56px}.project{padding-left:14px}.project>span{font-size:10px;letter-spacing:1px}h1{font-size:21px}.floor-label{display:none}main{padding-top:25px}.heading{align-items:start;flex-direction:column;gap:16px}h2{font-size:28px}.heading p:last-child{font-size:14px}.map-tools{align-self:flex-end}.plan-scroll{max-height:53vh}.plan-bottom{padding:14px;flex-wrap:wrap;gap:8px;font-size:12px}.pan-hint{order:3;width:100%}.view-list{grid-template-columns:repeat(2,1fr);margin-top:18px}.view-list button{font-size:14px;min-height:55px;padding:12px}footer{font-size:10px;gap:20px;line-height:1.7}.site-link{bottom:18px;right:16px}.viewer-top{padding:17px 4%;gap:10px}.back{padding:12px;font-size:13px}.back span{margin-right:5px}.viewer-top h2{font-size:19px}.viewer-top>div>span{font-size:10px}.image-area{padding:0}.viewer-bottom{font-size:10px;line-height:1.6}.viewer-bottom span:last-child{display:none}.image-area img{max-height:calc(100dvh - 180px)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.project{min-width:0}.location{font-size:14px;line-height:1.5;color:#627781;margin:9px 0 0;letter-spacing:0}@media(max-width:600px){header .project{flex:1;min-width:170px}.location{font-size:12px;line-height:1.5}header .logo{flex-shrink:0}}

.floorplan{cursor:zoom-in}#expand{font-size:14px;background:#0b3344;color:white}#expand:hover{background:#20566c}
#planViewer{background:#f4f6f6;overflow:hidden;height:100dvh;color:#0b3344}
.expanded-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(14px,env(safe-area-inset-top)) 20px 14px;background:#fff;border-bottom:1px solid #dce3e4;flex-shrink:0}
#expandedMount{flex:1;min-height:0;display:flex;padding-bottom:86px}
#planViewer .plan-scroll{width:100%;height:100%;max-height:none;display:flex;align-items:safe center}
#planViewer .plan{flex-shrink:0;margin:auto}#planViewer .floorplan{cursor:default}
@media(max-width:600px){.heading>.map-tools{width:100%}.heading>.map-tools #expand{flex:1;padding:0 10px}.heading>.map-tools button{padding:0 13px}.expanded-toolbar{padding:12px 10px;gap:8px}.expanded-toolbar .map-tools button{padding:0 12px}.expanded-toolbar .back{padding:13px 12px}}

#mobileMenuButton{display:none}#mobileMenu{max-width:440px;height:100dvh;margin:0 0 0 auto;padding:22px;background:#fff;color:#0b3344;gap:16px}#mobileMenu .mobile-logo{width:170px;height:80px;object-fit:contain;margin-top:15px}#mobileMenu p{font-size:14px;line-height:1.6;margin:0}#mobileMenu h2{font-size:27px;margin:0}.mobile-actions,#mobileViews{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mobile-actions button,#mobileViews button{padding:13px 10px;border:1px solid #cbd7dc;border-radius:10px;background:#f4f7f8;color:#0b3344;text-align:left;font-size:14px;line-height:1.4}.mobile-site{color:#0b3344;padding:15px 0;font-size:16px}#mobileMenu .back{align-self:flex-start}#mobileMenu[open]{overflow-y:auto;display:flex}
@media(max-width:1000px),(max-height:600px) and (pointer:coarse){
body{overflow:hidden}body>header,main>.heading,main>.view-list,main>footer,.plan-bottom,body>.site-link{display:none}
main{padding:0;margin:0;max-width:none;width:100%;height:100dvh}
.plan-card{border:0;border-radius:0;box-shadow:none;width:100%;height:100dvh;background:#f4f6f6}
.plan-scroll{height:100%;max-height:none;display:flex;align-items:safe center;width:100%}.plan{flex-shrink:0;margin:auto}
#mobileMenuButton{display:flex;align-items:center;gap:8px;position:fixed;z-index:20;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));border:1px solid #60808c;border-radius:30px;background:#0b3344ef;color:white;padding:12px 16px;box-shadow:0 3px 12px #0002;font-size:15px}
#viewer{height:100dvh;overflow:hidden}#viewer .viewer-top{position:absolute;inset:0 0 auto;z-index:4;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-left));pointer-events:none}#viewer .viewer-top .back{pointer-events:auto;background:#0b3344ec;box-shadow:0 3px 12px #0003}#viewer .viewer-top>div,#viewer .viewer-bottom,#viewer>.site-link{display:none}
#viewer .image-area{padding:0;width:100%;height:100dvh;flex:none}#viewer .image-area img{width:100%;height:100%;max-height:none;object-fit:contain}
#planViewer .expanded-toolbar{position:absolute;top:0;left:0;right:0;z-index:5;background:none;border:0;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-left));pointer-events:none}#planViewer .expanded-toolbar .back{pointer-events:auto;background:#0b3344ed}#planViewer .expanded-toolbar .map-tools,#planViewer>.site-link{display:none}#expandedMount{padding:0;height:100dvh;flex:none}
.hotspot{width:28px;height:28px}.hotspot .number{inset:3px;font-size:10px;border-width:1px}.hotspot .ring{inset:3px}.cone{width:65px;height:65px;left:14px;top:14px}.hotspot .tooltip{display:none}
}
@media(max-width:1000px),(max-height:600px) and (pointer:coarse){#viewer .image-area img{position:absolute;inset:0;width:100%;height:100%;max-height:100%;min-height:0;min-width:0;object-fit:contain}}

.immersive #planViewer .expanded-toolbar{position:absolute;top:0;left:0;right:0;z-index:5;background:none;border:0;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-left));pointer-events:none}
.immersive #planViewer .expanded-toolbar .back{pointer-events:auto;background:#0b3344ed}
.immersive #planViewer .expanded-toolbar .map-tools,.immersive #planViewer>.site-link{display:none}
.immersive #expandedMount{padding:0;height:100dvh;flex:none}
.immersive #viewer{height:100dvh;overflow:hidden}
.immersive #viewer .viewer-top{position:absolute;inset:0 0 auto;z-index:4;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-left));pointer-events:none}
.immersive #viewer .viewer-top .back{pointer-events:auto;background:#0b3344ec}
.immersive #viewer .viewer-top>div,.immersive #viewer .viewer-bottom,.immersive #viewer>.site-link{display:none}
.immersive #viewer .image-area{padding:0;width:100%;height:100dvh;flex:none}
.immersive #viewer .image-area img{position:absolute;inset:0;width:100%;height:100%;max-height:100%;min-height:0;min-width:0;object-fit:contain}
