@charset "UTF-8";
:root{--paper:#f4f1e9;--white:#fffdf8;--ink:#292d2b;--muted:#73786f;--line:#dcded4;--brand:#76271e;--sage:#8a9580;--shadow:0 16px 50px #343b3010}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #a2553b;outline-offset:4px}button:disabled{opacity:.35;cursor:default}a{color:inherit}button{border:0}button:hover{filter:brightness(.96)}.hidden{display:none!important}.header{height:98px;padding:14px 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--white)}.brand{display:flex;align-items:center;text-decoration:none;gap:20px}.brand img{height:72px;width:72px;object-fit:contain}.brand-rule{height:30px;width:1px;background:var(--line)}.project-label{font-size:8px;letter-spacing:1.5px;line-height:1.9;color:var(--muted)}.project-label b{font-size:11px;letter-spacing:.8px;color:var(--ink);font-weight:500}.header nav{display:flex;align-items:center;gap:26px}.nav-button{background:none;padding:11px 0;color:var(--muted);font-size:12px}.nav-button.active{color:var(--ink);border-bottom:1px solid var(--brand)}.tour-nav{border:1px solid var(--line)!important;border-radius:25px;padding:12px 18px!important;color:var(--ink)}.tour-nav span{margin-left:10px;color:var(--brand)}.showroom{height:calc(100dvh - 143px);min-height:610px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 49% 35%,#fcfbf6 0,#efeee5 70%)}#viewer,#canvas-host{position:absolute;inset:0}#canvas-host canvas{width:100%;height:100%;display:block;touch-action:none}.intro{position:absolute;top:48px;left:4%;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:500;color:var(--muted)}.eyebrow span{display:inline-block;width:6px;height:6px;border-radius:100%;background:var(--brand);vertical-align:middle;margin-right:8px}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(37px,3.6vw,62px);line-height:1.05;letter-spacing:-2px;margin:24px 0 20px}.intro-copy{font-size:12px;line-height:1.8;color:var(--muted)}.inspector{position:absolute;right:3.5%;top:36px;width:235px;border:1px solid #fff;background:#fffdf8ed;border-radius:5px;box-shadow:var(--shadow);backdrop-filter:blur(15px);overflow:hidden}.inspector-inner{padding:24px}.mini-label{font-size:9px;letter-spacing:1.7px;color:var(--muted);text-transform:uppercase}.area-number{font-family:Georgia,serif;font-size:46px;font-weight:400;letter-spacing:-1px;margin:10px 0 1px}.area-number span{font-family:Arial,sans-serif;font-size:15px;letter-spacing:0;margin-left:4px}.area-note{font-size:10px;color:var(--muted);margin:0 0 21px;line-height:1.7}.specs{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.specs li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:11px 0;font-size:11px;color:var(--muted)}.specs b{font-weight:400;color:var(--ink)}.text-link{font-size:11px;text-align:left;color:var(--brand);background:none;padding:0}.inspector .text-link{margin-top:20px}.room-cover{height:155px;width:100%;object-fit:cover;display:block}.room-heading{font-family:Georgia,serif;font-size:25px;line-height:1.13;font-weight:400;margin:10px 0 12px}.room-description{font-size:11px;line-height:1.8;color:var(--muted)}.primary{background:var(--brand);color:#fff;border-radius:3px;padding:13px 18px;font-size:11px;display:inline-flex;justify-content:center;align-items:center;gap:20px}.secondary{border:1px solid var(--line);background:transparent;padding:12px 16px;border-radius:3px;font-size:11px}.room-actions{display:grid;gap:8px;margin-top:18px}.inspector-back{background:none;color:var(--muted);font-size:10px;padding:12px 24px;border-top:1px solid var(--line);width:100%;text-align:left}.view-tools{position:absolute;right:3.5%;bottom:108px;display:flex;flex-direction:column;gap:3px;background:var(--white);padding:5px;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}.view-tools button{width:35px;height:35px;background:none;border-radius:100%;font-size:22px;line-height:1}.view-tools span{height:1px;background:var(--line);margin:4px}.bottom-bar{position:absolute;bottom:28px;left:4%;right:3.5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.floor-tabs{display:flex;padding:5px;border:1px solid var(--line);border-radius:35px;background:var(--white);box-shadow:var(--shadow);position:absolute;left:50%;transform:translateX(-50%)}.floor-tabs button{padding:13px 21px;font-size:11px;border-radius:30px;background:none;white-space:nowrap;color:var(--muted)}.floor-tabs button.selected{background:var(--ink);color:var(--white)}.view-hint{font-size:10px;color:var(--muted)}.view-hint>span{font-size:20px;margin-right:8px;color:var(--ink)}.view-hint i{margin:0 9px;font-style:normal}.help{margin-left:auto;border:1px solid var(--line);background:var(--white);border-radius:100%;width:32px;height:32px;font-family:Georgia,serif;font-size:18px}footer{height:45px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:9px;letter-spacing:.4px;border-top:1px solid var(--line)}footer span:first-child{font-size:8px;letter-spacing:1px}footer i{font-style:normal;margin:0 10px;color:var(--brand)}footer button{font-size:9px;background:none;color:var(--muted)}#hotspots{position:absolute;inset:0;pointer-events:none}.hotspot{pointer-events:auto;position:absolute;transform:translate(-50%,-50%);white-space:nowrap;background:var(--white);border:1px solid #c9cdbf;border-radius:25px;padding:8px 13px 8px 9px;box-shadow:0 4px 16px #0001;font-size:10px;display:flex;align-items:center;gap:7px;transition:background .2s}.hotspot::before{content:'+';display:inline-grid;place-items:center;width:17px;height:17px;background:var(--sage);border-radius:100%;color:white;font-size:14px}.hotspot:hover{background:#eef0e7}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:var(--paper);z-index:5;color:var(--muted);font-size:13px}.loading small{font-size:10px;color:#969a90}.loader{height:28px;width:28px;border:1px solid var(--line);border-top-color:var(--brand);border-radius:100%;animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fallback{position:absolute;inset:0;display:grid;place-items:center}.fallback>img{width:100%;height:100%;object-fit:cover}.fallback>div{position:absolute;bottom:120px;background:var(--white);padding:20px;border-radius:4px;max-width:90%;font-size:12px}.fallback>div p{line-height:1.5}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;font-size:12px;padding:14px 22px;border-radius:5px;z-index:100}
dialog{padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);width:min(1320px,94vw);max-width:94vw;max-height:94dvh;border-radius:7px;box-shadow:0 40px 140px #0004}dialog::backdrop{background:#2229239c;backdrop-filter:blur(5px)}.dialog-shell{min-width:0}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:22px 30px;background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:4}.dialog-header h2{font-family:Georgia,serif;font-size:29px;font-weight:400;margin:6px 0 0}.close{background:none;border:1px solid var(--line);border-radius:50%;font-size:25px;width:38px;height:38px}.gallery-grid{padding:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-card{background:var(--white);padding:0;text-align:left;border:1px solid var(--line);border-radius:4px;overflow:hidden}.gallery-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s}.gallery-card:hover img{transform:scale(1.02)}.gallery-caption{display:flex;justify-content:space-between;align-items:center;padding:15px;font-size:12px}.gallery-caption small{font-size:9px;color:var(--muted)}.image-view{display:grid;grid-template-columns:minmax(0,1fr) 230px;min-height:300px}.image-view>img{width:100%;max-height:73dvh;object-fit:contain;background:#e4e3d9}.image-meta{padding:30px 22px;background:var(--white);display:flex;flex-direction:column;justify-content:space-between}.image-meta p{color:var(--muted);font-size:12px;line-height:1.8}.image-meta .arrows{display:flex;gap:10px;align-items:center}.arrows button{width:40px;height:40px;background:var(--paper);border:1px solid var(--line);border-radius:100%;font-size:20px}.arrows span{margin-left:auto;color:var(--muted);font-size:10px}.plan-toolbar{padding:16px 25px;display:flex;align-items:center;gap:8px}.plan-toolbar a{font-size:11px;margin-left:auto;text-decoration:none}.plan-toolbar button{border:1px solid var(--line);padding:10px 18px;border-radius:25px;background:var(--white);font-size:11px}.plan-toolbar button.selected{background:var(--ink);color:var(--white)}.plan-image{width:100%;max-height:65dvh;display:block;object-fit:contain;background:#fffdf8}.plan-note{padding:0 25px 20px;font-size:10px;color:var(--muted);line-height:1.6}.tour-layout{display:grid;grid-template-columns:minmax(0,1fr) 200px}.panorama{height:65dvh;min-height:390px;background:#dcded4}.tour-scenes{padding:20px;background:var(--white);display:flex;flex-direction:column;gap:12px}.scene-button{padding:0;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--white);text-align:left;font-size:11px}.scene-button img{width:100%;height:75px;object-fit:cover;display:block}.scene-button span{display:block;padding:10px}.scene-button.selected{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.tour-notice{font-size:10px;color:var(--muted);line-height:1.7;margin-top:auto}.tour-status{padding:11px 20px;background:var(--white);border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.about-content{padding:25px 35px;max-width:850px;margin:auto;line-height:1.8;color:var(--muted)}.about-content h3{font-family:Georgia,serif;font-size:24px;font-weight:400;color:var(--ink)}.area-table{width:100%;border-collapse:collapse;margin:20px 0}.area-table td{padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.area-table td:last-child{text-align:right;color:var(--ink)}.about-content .fine{font-size:11px}.pnlm-container{font-family:Arial,Helvetica,sans-serif!important}.pnlm-load-box{border-radius:4px!important}
@media(min-width:1500px){.intro{top:65px}.inspector{top:55px}}
@media(max-width:1100px){.intro{top:30px}.intro h1{font-size:42px}.inspector{width:210px;top:25px}.inspector-inner{padding:20px}.view-hint{max-width:170px;line-height:1.8}.view-hint i{display:none}.view-hint span{float:left}.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.header{height:78px;padding:8px 15px}.brand img{width:55px;height:55px}.brand{gap:8px}.brand-rule,.project-label{display:none}.header nav{gap:13px}.nav-button{font-size:10px}.tour-nav{padding:9px 10px!important}.tour-nav span{display:none}.showroom{height:calc(100dvh - 117px);min-height:620px}.intro{top:24px;left:22px}.intro .eyebrow{font-size:7px;letter-spacing:1.4px}.intro h1{font-size:36px;letter-spacing:-1px;margin:16px 0 12px}.intro-copy{font-size:10px;line-height:1.7}.inspector{right:16px;top:27px;width:116px;box-shadow:none;background:#fffdf8bd}.inspector-inner{padding:14px}.inspector .mini-label{font-size:7px;letter-spacing:.8px}.area-number{font-size:30px;margin:8px 0 2px}.area-number span{font-size:11px}.area-note{font-size:8px;margin-bottom:8px}.specs li{padding:7px 0;font-size:8px;gap:5px}.inspector .text-link{margin-top:12px;font-size:8px;line-height:1.5}.inspector.room-selected{top:auto;bottom:98px;right:16px;left:16px;width:auto;display:grid}.room-selected #inspector-content{display:grid;grid-template-columns:100px 1fr}.room-cover{height:100%;min-height:125px;max-height:200px;object-fit:cover}.room-selected .inspector-inner{padding:13px}.room-heading{font-size:19px;margin:4px 0 5px}.room-description{font-size:10px;line-height:1.5;margin:0}.room-actions{display:flex;gap:6px;margin-top:10px}.room-actions button{font-size:9px;padding:9px 11px;gap:8px}.inspector-back{padding:7px 12px;font-size:9px;grid-column:1/-1}.view-tools{right:16px;bottom:265px;padding:3px}.view-tools button{width:30px;height:30px;font-size:21px}.view-tools span{margin:2px}.bottom-bar{left:16px;right:16px;bottom:24px;height:42px}.floor-tabs{padding:4px;left:0;transform:none}.floor-tabs button{font-size:10px;padding:12px 16px}.view-hint{position:absolute;bottom:54px;left:0;max-width:none;font-size:9px;line-height:1}.view-hint span{float:none;font-size:16px}.view-hint i{display:inline}.help{width:28px;height:28px}.hotspot{font-size:8px;padding:6px 9px 6px 6px;gap:5px}.hotspot::before{width:14px;height:14px;font-size:12px}footer{height:39px;padding:0 16px;font-size:7px;gap:15px}footer span:first-child{font-size:7px}footer #area-footer{display:none}footer button{font-size:8px}.dialog-header{padding:16px}.dialog-header h2{font-size:23px}.dialog-header .eyebrow{font-size:8px}.gallery-grid{padding:12px;gap:12px}.gallery-caption{padding:10px;font-size:10px;display:block}.gallery-caption small{display:block;margin-top:5px}.image-view{display:flex;flex-direction:column}.image-view>img{max-height:58dvh}.image-meta{padding:15px}.image-meta p{font-size:11px;margin:0 0 12px}.tour-layout{display:flex;flex-direction:column}.panorama{height:52dvh;min-height:320px}.tour-scenes{flex-direction:row;padding:12px;gap:8px}.scene-button{flex:1}.scene-button img{height:55px}.scene-button span{padding:8px;font-size:9px}.tour-notice{display:none}.tour-status{padding:10px 12px;font-size:9px;line-height:1.6}.plan-toolbar{padding:12px;flex-wrap:wrap}.plan-toolbar a{font-size:9px}.plan-toolbar button{font-size:10px;padding:9px 13px}.plan-note{padding:0 15px 15px}.about-content{padding:15px 20px;font-size:12px}dialog{width:96vw;max-width:96vw;max-height:96dvh}.fallback>div{bottom:120px}.toast{width:85%;text-align:center;font-size:11px}.room-selected+.view-tools{bottom:280px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.scene-button small{display:block;font-size:8px;letter-spacing:1px;color:var(--muted);margin-bottom:5px}
.plan-scroll{max-height:65dvh;overflow:auto}.plan-scroll.zoomed .plan-image{width:1400px;min-width:1400px;max-width:none;max-height:none}.plan-toolbar #plan-zoom{margin-left:8px}
@media(max-width:380px){.intro h1{font-size:31px}.intro-copy{font-size:9px}.inspector{width:104px}.header nav{gap:9px}.nav-button{font-size:9px}.floor-tabs button{font-size:9px;padding:12px 11px}.brand img{width:48px;height:48px}}
.showroom:fullscreen{height:100dvh;min-height:0;width:100vw}
