/* Shared glass treatment for the floating interface; the studio remains visible. */
:root{--glass-ink:#fafbff;--glass-muted:#e1e6f0;--glass-edge:#ffffff55;--glass-shadow:0 12px 35px #080b1938;--glass-panel:linear-gradient(145deg,#29344352,#12192370)}
.dock{position:relative;gap:2px;padding:7px;width:520px;max-width:100%;height:82px;border:1px solid #ffffff52;border-radius:999px;background:linear-gradient(135deg,#ffffff19,#e9f0ff06 44%,#ffffff10);box-shadow:inset 1px 1px 1px #ffffff70,inset -1px -1px 1px #ffffff2b,inset 0 0 12px #eaf3ff10,0 12px 30px #05081735;-webkit-backdrop-filter:blur(5px) saturate(1.45) brightness(.88);backdrop-filter:blur(5px) saturate(1.45) brightness(.88);isolation:isolate;--glint-x:25%;--glint-y:0%}
.dock::before,.site-menu::before,.content-view::before,.daylight-panel::before{content:'';position:absolute;inset:3px;z-index:2;padding:1px;border-radius:inherit;background:linear-gradient(137deg,#ffffff9c,transparent 29%,#e8f2ff20 56%,#ffffff73 78%,#ccb9ff42);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}
.dock::after{content:'';position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at var(--glint-x) var(--glint-y),#ffffff20,transparent 58%);opacity:.8}
.dock a,.dock button{position:relative;z-index:1;flex:1;min-width:0;height:66px;gap:6px;flex-direction:column;border-radius:999px;background:transparent;color:var(--glass-ink);font-size:11px;font-weight:600;text-shadow:0 1px 3px #07101ec4;transition:color .18s,background .18s,transform .18s}
.dock .menu-toggle{flex:1;min-width:0}.dock svg{width:24px;height:24px;stroke-width:1.55;filter:drop-shadow(0 1px 1px #06122766)}
.dock a:hover,.dock button:hover{background:#ffffff0d;color:#fff}.dock [aria-current=page],.dock button[aria-expanded=true]{background:transparent;color:#fff}
.dock a:active,.dock button:active{transform:scale(.95)}.dock-separator{display:none}
.dock-current{position:absolute;left:0;top:7px;bottom:7px;z-index:0;width:var(--pill-width,124px);transform:translate3d(var(--pill-x,7px),0,0);border-radius:999px;border:1px solid #ffffff45;background:linear-gradient(135deg,#ffffff24,#ffffff09 60%,#ffffff15);box-shadow:inset 1px 1px 1px #ffffff70,inset -1px -1px 1px #ffffff3d,inset 0 -6px 14px -12px #fff,0 2px 9px #0b102618;transition:transform .48s cubic-bezier(.22,.8,.2,1),width .42s cubic-bezier(.22,.8,.2,1),opacity .2s;pointer-events:none}
.deck{height:82px;bottom:24px}
.site-menu,.content-view,.daylight-panel{color:var(--glass-ink);background:var(--glass-panel);border:1px solid #ffffff4a;border-radius:30px;box-shadow:inset 1px 1px 1px #ffffff70,inset -1px -1px 1px #ffffff2b,var(--glass-shadow);-webkit-backdrop-filter:blur(14px) saturate(1.4) brightness(.72);backdrop-filter:blur(14px) saturate(1.4) brightness(.72);text-shadow:0 1px 2px #060c163b}
.site-menu{bottom:120px;width:510px;padding:26px}.content-view{padding:32px}.daylight-panel{border-radius:24px}
.site-menu::backdrop,.content-view::backdrop{background:#07101c24}
.menu-heading p{font-size:12px;letter-spacing:.015em;font-weight:600}.menu-heading,.content-heading{margin-bottom:20px}
.icon-close{width:34px;height:34px;border-color:#ffffff42;background:#ffffff0c;color:#fff;box-shadow:inset 0 1px 1px #fff3;font-size:22px}
.site-menu nav>a,.site-menu nav>button{color:var(--glass-ink);border:1px solid #ffffff26;border-radius:19px;background:linear-gradient(135deg,#ffffff10,#ffffff04);box-shadow:inset 0 1px 1px #ffffff13;min-height:90px;transition:background .18s,border-color .18s}
.site-menu nav span{font-weight:600}.site-menu nav small{font-size:10px;color:var(--glass-muted);line-height:1.5}.site-menu nav b{color:#f1ddff}
.site-menu nav>a:hover,.site-menu nav>button:hover{background:#ffffff1c;border-color:#ffffff68}.menu-contact{color:#f0ecf8;border-color:#ffffff29}
.content-heading .eyebrow{color:#dfcbed}.content-body h2,.content-body h3{color:#fff}.content-body p,.content-body li{color:#edf0f6}.content-body .text-action{color:#f3ddff;border-color:#dac5ef8c;text-shadow:none}.content-body .prototype-note{color:#f1ddc2!important;border-color:#d6bda0}
.content-body .review-list blockquote{color:#edf0f6;border-color:#ffffff38}.content-body .review-list cite{color:#dfc8e8}
.daylight-panel>span{color:#dbe0ec}.daylight-day{color:#fff;background:#ffffff13;border-color:#ffffff40}.daylight-day option{background:#26313f;color:#fff}
.daylight-presets button,.daylight-auto{color:#fff;border:1px solid #ffffff2e;background:#ffffff0a;box-shadow:inset 0 1px 0 #ffffff14;border-radius:13px}
.daylight-presets button[aria-pressed=true],.daylight-auto[aria-pressed=true]{color:#fff;background:#ffffff26;border-color:#ffffff69}
.hotspot,.floor-stop,.ambient-toggle{color:#fff;border:1px solid #ffffff54;background:linear-gradient(135deg,#3b435377,#18202b94);box-shadow:inset 1px 1px 1px #ffffff6e,inset -1px -1px 1px #ffffff2c,0 4px 14px #07122126;-webkit-backdrop-filter:blur(7px) saturate(1.35) brightness(.8);backdrop-filter:blur(7px) saturate(1.35) brightness(.8);text-shadow:0 1px 2px #08101b88}
.hotspot:hover,.hotspot[aria-pressed=true],.floor-stop:hover,.floor-stop:focus-visible{background:linear-gradient(135deg,#77718570,#302b4399);color:#fff;border-color:#ffffff91}.floor-stop span:last-child{color:#f1dbff}
.ambient-toggle{width:36px;height:36px}.gallery-choices button,.team-choices button{background:linear-gradient(135deg,#ffffff20,#ffffff08);border-color:#ffffff50;box-shadow:inset 0 1px 1px #ffffff3b;-webkit-backdrop-filter:blur(5px) brightness(.66);backdrop-filter:blur(5px) brightness(.66);color:#fff;text-shadow:0 1px 2px #08101b88}
.member-actions a{background:linear-gradient(135deg,#ffffff16,#ffffff05);border-color:#ffffff45;color:#fff}.member-actions small{color:#e0e5f1}
.project-view{background:#17202e91;border-color:#ffffff70;box-shadow:inset 0 1px 1px #fff9,0 22px 80px #0005}.project-bar{background:#1e293bb3;color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.project-bar p{color:#e5cfef}.project-close{color:#fff;background:#ffffff12;border-color:#ffffff4d}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.dock{background:#253041ed}.site-menu,.content-view,.daylight-panel,.hotspot,.floor-stop{background:#202b3cf5}}
@media(max-width:760px){.deck{height:70px;bottom:18px}.dock{height:70px;padding:6px;gap:1px;max-width:390px;width:100%;border-radius:999px}.dock a,.dock button{height:56px;font-size:9px;gap:5px;border-radius:999px}.dock .menu-toggle{flex:1}.dock svg{width:22px;height:22px}.dock-current{top:6px;bottom:6px}.ambient-toggle{width:29px;height:29px;bottom:78px}.site-menu{bottom:102px;width:calc(100vw - 28px);padding:22px;border-radius:28px}.site-menu nav small{font-size:9px}.site-menu nav>a,.site-menu nav>button{min-height:86px;border-radius:17px}.content-view{padding:25px;border-radius:28px}.menu-contact{font-size:9px}.project-close{font-size:10px}}
@media(prefers-reduced-motion:reduce){.dock-current,.dock a,.dock button{transition:none!important}}
@media(prefers-contrast:more){.dock,.site-menu,.content-view,.daylight-panel,.hotspot,.floor-stop{background:#192332f2;border-color:#fff}.dock-current{background:#ffffff2b}}

@media(min-width:761px) and (max-width:1050px){.deck>.guide{display:none}}
.site-menu{max-height:min(75svh,calc(100svh - 144px))}
@media(max-width:760px){.site-menu{max-height:min(75svh,calc(100svh - 118px))}}
/* Keep the real decor visible without layering two sets of text through the glass. */
body:has(.site-menu[open],.content-view[open]) .captions,body:has(.site-menu[open],.content-view[open]) .hotspots{visibility:hidden;opacity:0;pointer-events:none}
@media(max-height:460px){.stage{min-height:0}}
