:root{--ink:#eeeeee;--muted:#9d9d9d;--line:#cbcbcb22;--accent:#c2c2c2;--panel:#161616d9}*{box-sizing:border-box}body{margin:0;background:#0c0c0c;color:var(--ink);font-family:'Segoe UI',Arial,sans-serif;overflow:hidden;font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #cfcfcf;outline-offset:5px}button{transition:background .2s,border-color .2s,transform .2s}button:hover{border-color:#d6d6d688}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#0c0c0cd9 0,#0c0c0c99 17%,transparent 44%),linear-gradient(0deg,#0c0c0cbb,transparent 17%,transparent 85%,#0c0c0caa);z-index:1}#viewport{position:fixed;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}#viewport:active{cursor:grabbing}header{position:fixed;top:0;left:0;width:100%;height:102px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;z-index:5;border-bottom:1px solid #c9c9c910;background:linear-gradient(#0c0c0cb3,transparent)}.brand{display:flex;align-items:center;gap:12px}.brand-icon{font-size:38px;line-height:1;color:#d4d4d4}.brand>span:last-child{font-size:29px;letter-spacing:-1.6px;font-weight:600;line-height:1}.brand sup{font-size:10px;vertical-align:top;margin:3px 0 0 4px;display:inline-block;letter-spacing:0}.brand small{display:block;font:7px monospace;letter-spacing:2.2px;color:#959595;margin-top:10px}.view-tabs{display:flex;padding:5px;gap:5px;border:1px solid #cecece22;background:#141414d9;backdrop-filter:blur(18px);border-radius:9px;box-shadow:0 4px 30px #00000033}.view-tabs button{border:1px solid transparent;background:none;border-radius:5px;color:#808080;font:9px monospace;padding:12px 17px;white-space:nowrap}.view-tabs button>span{font:12px 'Segoe UI',sans-serif;margin-left:12px;color:#b3b3b3}.view-tabs button.active{background:#cbcbcb18;border-color:#c9c9c944;color:#c4c4c4;box-shadow:inset 0 1px #ffffff12}.view-tabs button.active span{color:#ededed}.round-button{width:34px;height:34px;border-radius:50%;border:1px solid #cbcbcb33;color:#b8b8b8;background:#ffffff05}.welcome{position:fixed;top:155px;left:48px;width:275px;z-index:3;transition:opacity .4s,transform .4s}.eyebrow{font:8px monospace;letter-spacing:1.8px;color:#b1b1b1;margin:0 0 22px}i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#c3c3c3;box-shadow:0 0 10px #b5b5b577;margin-right:8px;vertical-align:middle}h1{font-size:clamp(37px,3.4vw,54px);letter-spacing:-2.8px;line-height:1.08;font-weight:500;margin:0}h1 em{font-style:normal;color:#c3c3c3}.intro{color:#9c9c9c;line-height:1.8;font-size:12px;margin:23px 0}.primary{border:1px solid #d2d2d288;background:linear-gradient(130deg,#dfdfdf,#c7c7c7);color:#1b1b1b;padding:14px 18px;border-radius:5px;display:flex;align-items:center;justify-content:space-between;gap:28px;font-size:11px;font-weight:600}.primary:hover{background:#eaeaea;box-shadow:0 0 30px #c6c6c622}.primary>span{font-size:19px}.welcome-rule{height:1px;background:linear-gradient(90deg,#cfcfcf44,transparent);margin:32px 0 22px}.small-heading{font:7px monospace;letter-spacing:1.5px;color:#7e7e7e;margin-bottom:16px}.destination{display:flex;align-items:center;gap:13px;width:100%;background:none;border:0;padding:11px 0;text-align:left;color:#d5d5d5}.destination:hover{transform:translateX(4px)}.destination-icon{border:1px solid #c8c8c826;display:grid;place-items:center;border-radius:6px;width:32px;height:32px;font-size:19px;color:#a6a6a6;background:#b8b8b805}.destination>span:nth-child(2){font-size:11px;line-height:1.5}.destination small{display:block;font-size:9px;color:#7f7f7f}.destination>span:last-child{margin-left:auto;padding-right:20px;font-size:14px;color:#7a7a7a}.concept{font:7px monospace;letter-spacing:1px;color:#7c7c7c;margin-top:23px}.concept-dot{display:inline-block;width:4px;height:4px;background:#818181;margin-right:6px;border-radius:50%}.scene-heading{position:fixed;right:40px;top:142px;text-align:right;z-index:3;pointer-events:none}.scene-heading>span{font:8px monospace;letter-spacing:2px;color:#858585}.scene-heading h2{font-size:21px;font-weight:400;letter-spacing:-.6px;margin:9px 0}.scene-heading p{font-size:10px;color:#838383;margin:0}.hotspots{position:fixed;inset:0;pointer-events:none;z-index:2}.hotspot{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;padding:0;border:0;background:none;white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:0;color:#d5d5d5;transition:opacity .3s}.hotspot-label{border:1px solid #cccccc33;border-radius:4px;background:#1a1a1ae6;box-shadow:0 4px 20px #00000044;padding:9px 12px;font:8px monospace;letter-spacing:.7px;backdrop-filter:blur(12px)}.hotspot-label>span{color:#959595;margin-left:13px}.hotspot.premium .hotspot-label{border-color:#bdbdbd55;color:#d9d9d9;background:#222222eb}.hotspot-line{width:1px;height:22px;background:linear-gradient(#c4c4c466,#c4c4c422)}.hotspot-dot{width:5px;height:5px;border:1px solid #c4c4c4;border-radius:50%;box-shadow:0 0 14px #c4c4c488;background:#3d3d3d}.hotspot:hover .hotspot-label{background:#424242e8}.hotspot.premium:hover .hotspot-label{background:#454545}.map-panel{position:fixed;right:35px;bottom:159px;width:220px;border:1px solid #cccccc22;border-radius:9px;background:#131313d9;backdrop-filter:blur(18px);z-index:4;box-shadow:0 12px 45px #00000033}.map-heading{display:flex;justify-content:space-between;padding:14px 15px 3px;font:7px monospace;letter-spacing:1px;color:#939393}.map-heading>span:last-child{color:#c9c9c9}#minimap{width:100%;height:auto;display:block}.map-legend{display:flex;align-items:center;font-size:8px;padding:0 14px 12px;color:#a5a5a5}.map-legend>span:last-child{margin-left:auto;color:#656565;font:7px monospace}.bottom-dock{position:fixed;bottom:64px;left:37px;right:35px;z-index:4;display:flex;align-items:center;justify-content:space-between}.interaction-hint{display:flex;gap:14px;align-items:center;color:#bfbfbf;font-size:11px}.interaction-hint small{display:block;font-size:9px;color:#818181;margin-top:6px}.mouse-icon{border:1px solid #a9a9a944;width:33px;height:42px;display:grid;place-items:center;border-radius:15px;color:#b6b6b6}.toolbar{display:flex;align-items:center;gap:5px;padding:6px;border:1px solid #c2c2c233;border-radius:9px;background:#181818ed;box-shadow:0 10px 40px #00000055;backdrop-filter:blur(20px)}.toolbar button{display:flex;align-items:center;gap:9px;background:none;border:1px solid transparent;border-radius:5px;padding:12px 14px;color:#a6a6a6;font-size:10px}.toolbar button>span:first-child{font-size:18px}.toolbar button:hover,.toolbar button[aria-pressed=true]{background:#b5b5b516;border-color:#b5b5b533;color:#e0e0e0}.toolbar #walk{background:#d3d3d3;color:#1a1a1a;padding:11px 18px;font-weight:600}.toolbar #walk.active{background:#d0d0d0}.toolbar-divider{height:24px;width:1px;background:#c0c0c022;margin:0 4px}footer{position:fixed;bottom:0;left:35px;right:35px;height:40px;border-top:1px solid #c2c2c219;display:flex;align-items:center;justify-content:space-between;font:7px monospace;letter-spacing:1.2px;color:#848484;z-index:4}footer button{background:none;border:0;font:7px monospace;letter-spacing:1px;color:#c6c6c6}.walk-banner{position:fixed;top:116px;left:50%;transform:translateX(-50%);z-index:5;border:1px solid #cdcdcd33;padding:12px 18px;border-radius:6px;background:#161616e8;font:8px monospace;color:#d4d4d4;letter-spacing:1px;text-align:center;white-space:nowrap}.walk-banner>span{display:block;font:10px 'Segoe UI',sans-serif;letter-spacing:0;color:#a4a4a4;margin-top:5px}.room-panel{position:fixed;right:35px;top:235px;width:260px;z-index:6;padding:23px;background:#181818eb;border:1px solid #c9c9c944;border-radius:9px;backdrop-filter:blur(22px);box-shadow:0 15px 50px #00000055}.room-panel>button:first-child{float:right;background:none;border:0;font-size:21px;color:#b0b0b0;padding:0}.room-panel .eyebrow{font-size:7px;margin-top:4px}.room-panel h3{font-size:23px;font-weight:500;letter-spacing:-.8px;margin:10px 0 13px}.room-panel>p:not(.eyebrow){font-size:11px;line-height:1.8;color:#a5a5a5}.text-button{background:none;border:0;border-bottom:1px solid #bababa44;color:#d4d4d4;font-size:10px;padding:10px 0}.loading{position:fixed;inset:0;z-index:20;background:#0c0c0c;display:flex;align-items:center;justify-content:center;gap:25px;flex-direction:column;font-size:16px;letter-spacing:-.3px;transition:opacity .6s}.loading.complete{opacity:0;pointer-events:none}.loading small{font:8px monospace;letter-spacing:2px;color:#797979}.loader-orbit{width:55px;height:55px;border:1px solid #c6c6c622;border-top-color:#d5d5d5;border-radius:50%;animation:spin 1.5s linear infinite;box-shadow:0 0 40px #b8b8b811}@keyframes spin{to{transform:rotate(360deg)}}dialog{background:linear-gradient(135deg,#232323,#101010);color:#eaeaea;border:1px solid #c5c5c555;border-radius:13px;padding:38px;max-width:580px;width:90%;box-shadow:0 25px 120px #000000bb}dialog::backdrop{background:#070707cc;backdrop-filter:blur(13px)}.dialog-close{float:right;border:0;background:none;color:#bababa;font-size:24px}dialog h2{font-size:34px;line-height:1.12;font-weight:500;letter-spacing:-1px}#dialog-body{color:#afafaf;line-height:1.8;font-size:13px;margin-bottom:30px}#dialog-body strong{color:#e5e5e5;font-weight:500}#dialog-body ul{padding-left:20px}#dialog-body li{margin:9px 0}.mobile-pad{position:fixed;bottom:140px;left:38px;z-index:5;text-align:center}.mobile-pad button{width:40px;height:40px;border:1px solid #cccccc44;background:#212121e6;border-radius:6px;margin:3px;font-size:20px;touch-action:none;user-select:none}.render-error{position:fixed;z-index:30;inset:0;background:#131313;padding:15%;text-align:center}.render-error button{border:1px solid #c7c7c7;background:#c5c5c5;color:#1f1f1f;border-radius:6px;padding:15px 25px}.render-error h2{font-size:28px}.render-error p{color:#acacac;line-height:1.8}.walking .welcome{opacity:0;transform:translateX(-40px);pointer-events:none}.walking .vignette{background:linear-gradient(0deg,#0c0c0cbb,transparent 23%,transparent 85%,#0c0c0c99)}.walking .scene-heading{opacity:0}.walking #viewport{cursor:crosshair}.interior .welcome h1{font-size:37px}.interior .intro{font-size:11px}.interior .welcome{width:235px}.interior .welcome-rule{margin-top:25px}.day .vignette{background:linear-gradient(90deg,#0c0c0cf2,#0c0c0c77 22%,transparent 45%),linear-gradient(0deg,#0c0c0cbb,transparent 30%,transparent 85%,#0c0c0caa)}[hidden]{display:none!important}@media(max-height:800px) and (min-width:801px){.welcome{top:130px}.welcome h1{font-size:40px}.welcome .eyebrow{margin-bottom:15px}.intro{margin:16px 0}.welcome-rule{margin:23px 0 16px}.destination{padding:8px 0}.concept{margin-top:12px}.scene-heading{top:130px}.map-panel{width:185px}.welcome .mini-caption{display:none}}@media(max-width:1000px){.welcome{left:28px;width:235px}header{padding:0 25px}.brand>span:last-child{font-size:24px}.brand-icon{font-size:32px}.view-tabs button{padding:10px 12px}.view-tabs button>span{margin-left:6px;font-size:10px}.map-panel{width:180px;right:25px;bottom:148px}.scene-heading{right:28px}.scene-heading p{max-width:200px;line-height:1.5}.toolbar .button-caption{display:none}.bottom-dock{left:28px;right:25px}.toolbar button{padding:10px 13px}.scene-heading h2{font-size:18px}.room-panel{right:25px;top:215px}.welcome h1{font-size:40px}}@media(max-width:700px){header{height:122px;align-items:flex-start;padding:18px 18px}.brand>span:last-child{font-size:23px}.brand-icon{font-size:30px}.brand small{font-size:6px;margin-top:6px}.view-tabs{position:absolute;left:18px;right:18px;top:78px;justify-content:space-between;padding:4px;gap:0}.view-tabs button{flex:1;padding:10px 5px;font-size:8px}.view-tabs button>span{font-size:10px}.round-button{width:29px;height:29px}.welcome{top:155px;left:22px;width:230px}.welcome h1{font-size:35px;line-height:1.05;letter-spacing:-1.8px}.welcome .eyebrow{font-size:6px;margin-bottom:14px;letter-spacing:1px}.welcome .intro{font-size:10px;line-height:1.6;margin:14px 0}.welcome .intro br{display:none}.primary{padding:11px 14px;font-size:10px}.welcome-rule,.small-heading,.destination,.concept{display:none}.vignette{background:linear-gradient(180deg,#0c0c0ccc,transparent 55%),linear-gradient(0deg,#0c0c0cbb,transparent 24%)}.scene-heading{top:auto;bottom:178px;left:22px;right:auto;text-align:left}.scene-heading h2{font-size:16px;margin:6px 0}.scene-heading>span{font-size:6px}.scene-heading p{display:none}.map-panel{width:115px;bottom:157px;right:18px;border-radius:6px}.map-heading{font-size:5px;letter-spacing:.4px;padding:8px 8px 0}.map-heading span:last-child{display:none}.map-legend{padding:0 7px 8px;font-size:6px}.map-legend span:last-child{display:none}.map-legend i{width:3px;height:3px;margin-right:5px}.bottom-dock{bottom:54px;left:18px;right:18px;flex-direction:column;gap:10px}.interaction-hint{font-size:9px;align-self:flex-start}.interaction-hint small{font-size:8px;margin-top:3px}.mouse-icon{width:23px;height:30px;font-size:10px}.toolbar{width:100%;justify-content:space-between;gap:0;padding:5px}.toolbar button{padding:9px 13px}.toolbar #walk{padding:9px 16px;font-size:10px}.toolbar #walk>span{font-size:16px}.toolbar button>span:first-child{font-size:17px}.toolbar-divider{margin:0}.toolbar .button-caption{display:none}footer{left:18px;right:18px;height:35px;font-size:5px;letter-spacing:.5px}footer>span:nth-child(2){display:none}footer button{font-size:6px}.hotspot-label{font-size:6px;padding:7px 9px}.hotspot-label span{margin-left:7px}.hotspot-line{height:15px}.room-panel{top:auto;bottom:200px;right:18px;width:235px;padding:18px}.walk-banner{top:138px;width:calc(100% - 36px);font-size:7px;white-space:normal;padding:10px}.walk-banner span{font-size:8px}.walking .map-panel{bottom:180px}.walking .scene-heading{display:none}.mobile-pad{left:18px;bottom:165px}.mobile-pad button{width:35px;height:35px;font-size:17px;margin:2px}.walking .interaction-hint{display:none}.walking .bottom-dock{bottom:54px}.interior .welcome{top:140px;width:180px}.interior .welcome h1{font-size:24px}.interior .welcome .intro{display:none}.interior .welcome .eyebrow{margin-bottom:10px}.interior .welcome .primary{margin-top:12px;font-size:9px;padding:9px 11px}.interior .welcome .primary>span{font-size:15px}dialog{padding:27px}dialog h2{font-size:29px}#dialog-body{font-size:12px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* SAFARI TAP: wordmark inspired by the supplied reference. */
.brand .safari-wordmark{display:block;font:900 italic 28px/1 Arial,sans-serif;letter-spacing:-1.8px;white-space:nowrap}.safari-wordmark b{display:inline-block;background:linear-gradient(130deg,#8d35ff,#ba00ff);font:900 italic 15px/1 Arial,sans-serif;letter-spacing:-.4px;padding:6px 9px 5px;border-radius:5px 10px 5px 10px;transform:rotate(-6deg);vertical-align:middle;margin-left:3px;box-shadow:0 0 24px #b526ff22}.brand .safari-wordmark small{font:6px monospace;letter-spacing:2.1px;color:#a5a5a5;margin-top:9px}@media(max-width:1000px){.brand .safari-wordmark{font-size:24px}.safari-wordmark b{font-size:13px;padding:5px 7px}.brand .safari-wordmark small{font-size:5px;letter-spacing:1.5px}}@media(max-width:390px){.brand .safari-wordmark{font-size:21px}.safari-wordmark b{font-size:11px;padding:5px 6px}.brand .safari-wordmark small{letter-spacing:1px}}

@media(max-height:800px) and (min-width:801px){.welcome-rule{margin:20px 0 12px}.small-heading{margin-bottom:8px}.destination{padding:6px 0}.concept{display:none}}

/* Tap gesture: custom vector wordmark. */
.brand .safari-logo{display:block;width:200px;height:auto;transition:filter .25s,transform .25s}.brand:hover .safari-logo{filter:drop-shadow(0 0 10px #a35cff38);transform:translateY(-1px)}@media(max-width:1000px){.brand .safari-logo{width:165px}}@media(max-width:600px){.brand .safari-logo{width:150px}}
/* Client entry points, with the complete 3D studio kept available. */
.client-nav{display:flex;gap:5px}.client-nav button{border:0;background:transparent;padding:12px;color:#bebebe;font-size:12px}.client-nav button:hover{color:white;background:#ffffff0a;border-radius:6px}.welcome{width:330px;top:148px}.welcome h1{font-size:44px;letter-spacing:-2px}.welcome .intro{max-width:315px;line-height:1.7;font-size:12px}.client-hero-actions{display:flex;align-items:center;gap:17px}.client-hero-actions .primary{margin:5px 0 0;padding:14px 18px}.hero-projects{background:none;border:0;font-size:12px;white-space:nowrap;padding:12px 0}.welcome #enter{display:flex;border:0;background:transparent;text-align:left;color:#bcbcbc;font-size:12px;width:100%;justify-content:space-between;padding:10px 0}.studio-note{color:#777;font-size:10px;line-height:1.5}.exploration-views{position:fixed;z-index:4;bottom:137px;top:auto;left:50%;right:auto;transform:translateX(-50%);width:max-content}.exploration-views button{padding:10px 13px}.exploration-views button span{font-size:11px;margin-left:6px}.interior .welcome h1{font-size:34px}.interior .welcome .intro{display:none}.interior .welcome{width:285px}.client-nav button:focus-visible{outline:2px solid #ccc}.welcome-rule{margin:22px 0 14px}.welcome .small-heading{font-size:8px;letter-spacing:1.5px}.destination{padding:8px 0}
@media(min-width:1001px) and (max-height:800px){.welcome{top:131px}.welcome h1{font-size:38px}.welcome .intro{margin:14px 0}.welcome-rule{margin:16px 0 10px}.welcome .small-heading{margin-bottom:6px}.studio-note{display:none}}
@media(max-width:1000px){.client-nav button{padding:8px;font-size:11px}.welcome{width:300px}.welcome h1{font-size:39px}.brand .safari-logo{width:150px}.header-actions{gap:7px}}
@media(max-width:700px){header{height:116px}.client-nav{position:absolute;top:73px;left:18px;right:18px;justify-content:space-between}.client-nav button{font-size:11px;padding:10px 7px}.header-actions .services-entry{padding:9px;font-size:10px}.header-actions .round-button{display:none}.welcome{top:139px;left:22px;width:calc(100% - 44px);max-width:340px}.welcome h1{font-size:35px;line-height:1.08}.welcome .intro{font-size:11px;max-width:310px;margin:12px 0}.client-hero-actions{gap:17px}.client-hero-actions .primary{font-size:11px;padding:12px 15px}.hero-projects{font-size:11px}.welcome #enter{display:flex;width:235px;font-size:10px;margin-top:10px;padding:8px 0}.studio-note{display:none}.exploration-views{top:auto;bottom:158px;left:18px;right:18px;width:auto;transform:none}.exploration-views button{font-size:7px;padding:9px 3px}.exploration-views button span{font-size:9px;margin-left:3px}.map-panel{bottom:215px}.scene-heading{bottom:220px}.interior .welcome{top:136px;width:265px}.interior .welcome h1{font-size:26px}.interior .client-hero-actions .primary{padding:9px 11px}.walking .exploration-views{display:none}}
@media(max-height:700px) and (max-width:700px){.welcome h1{font-size:28px}.welcome .intro{font-size:10px;margin:8px 0}.welcome #enter{margin-top:4px}.exploration-views{bottom:151px}.map-panel{display:none}.scene-heading{display:none}}
/* Floating capsule header; existing content and matte palette preserved. */
header{top:16px;left:24px;width:calc(100% - 48px);height:78px;padding:0 20px;gap:18px;border:1px solid #cecece22;border-radius:999px;background:#141414d9;backdrop-filter:blur(18px);box-shadow:0 8px 30px #00000033,inset 0 1px #ffffff08}
header .brand{flex-shrink:0}header .safari-logo{width:175px}header .client-nav{position:static;display:flex;align-items:center;gap:3px;padding:4px;border:1px solid #cecece22;border-radius:999px;background:#0c0c0c55}header .client-nav button{padding:11px 15px;border-radius:999px;white-space:nowrap;border:1px solid transparent}header .client-nav button:hover,header .client-nav button:focus-visible{border-radius:999px;background:#cbcbcb18;border-color:#c9c9c944;color:#ededed;box-shadow:inset 0 1px #ffffff12}header .header-actions{align-items:center;margin:0;gap:7px}header .header-actions button{border-radius:999px}header .services-entry{background:#cbcbcb18;border-color:#c9c9c944;box-shadow:inset 0 1px #ffffff12}header .tour-entry{border-radius:999px}.exploration-views{border-radius:999px}.exploration-views button,.exploration-views button.active{border-radius:999px}
@media(min-width:701px) and (max-width:1100px){header{left:16px;width:calc(100% - 32px);padding:0 14px;gap:10px}header .safari-logo{width:140px}header .client-nav button{font-size:10px;padding:10px}header .services-entry{font-size:10px;padding:10px}header .tour-entry{padding:9px}}
@media(max-width:700px){header{top:12px;left:12px;width:calc(100% - 24px);height:113px;border-radius:25px;padding:12px 15px;align-items:flex-start;gap:10px}header .safari-logo{width:145px}header .header-actions{margin:2px 0 0;gap:7px}header .client-nav{position:absolute;top:auto;bottom:10px;left:10px;right:10px;justify-content:space-between;padding:3px;gap:0}header .client-nav button{font-size:10px;padding:8px 10px}header .header-actions .services-entry{padding:9px 11px;font-size:10px}.welcome{top:147px}.interior .welcome{top:142px}}
@media(max-width:380px){header{padding:12px 11px}header .safari-logo{width:123px}header .client-nav button{font-size:9px;padding:8px 7px}header .header-actions{gap:5px}header .header-actions .services-entry{font-size:9px;padding:9px}header .tour-entry{padding:8px}}
