/* PixelCMS Experience Engine DEV2: fullscreen route runtime */
.pxexp-page{position:fixed;inset:0;z-index:2147482000;overflow:hidden;background:#0c0d10;color:#fff;font-family:inherit;outline:none;isolation:isolate;--pxexp-look-x:0deg;--pxexp-look-y:0deg;--pxexp-accent:#d5b587;--pxexp-panel:rgba(8,10,13,.52)}
.pxexp-page,.pxexp-page *{box-sizing:border-box}.pxexp-page button,.pxexp-page a{font:inherit}.pxexp-page button{color:inherit}.pxexp-page a{color:inherit;text-decoration:none}.pxexp-page:focus-visible{outline:none}
.pxexp-world{position:absolute;inset:-4%;overflow:hidden;transform:perspective(1200px) rotateY(var(--pxexp-look-x)) rotateX(var(--pxexp-look-y)) scale(1.04);transform-origin:center;transition:transform .28s ease,filter .6s ease,opacity .38s ease;background:#111}
.pxexp-page.is-leaving .pxexp-world{transform:perspective(1200px) translateZ(90px) rotateY(var(--pxexp-look-x)) rotateX(var(--pxexp-look-y)) scale(1.1);filter:blur(5px);opacity:.15}
.pxexp-page.is-entering .pxexp-world{animation:pxexpWorldIn .72s cubic-bezier(.16,.84,.22,1) both}@keyframes pxexpWorldIn{0%{opacity:.15;filter:blur(5px);transform:perspective(1200px) translateZ(-80px) scale(.95)}100%{opacity:1;filter:none;transform:perspective(1200px) rotateY(var(--pxexp-look-x)) rotateX(var(--pxexp-look-y)) scale(1.04)}}
.pxexp-sky,.pxexp-ground,.pxexp-horizon,.pxexp-depth,.pxexp-grain{position:absolute;inset:0}.pxexp-sky{background:linear-gradient(180deg,#101722 0%,#56616d 52%,#bfa68f 100%)}.pxexp-ground{top:54%;background:linear-gradient(180deg,#5a5147,#141414 72%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.pxexp-horizon{top:45%;height:25%;background:radial-gradient(ellipse at center,rgba(255,223,183,.38),transparent 65%)}.pxexp-depth{background:radial-gradient(circle at 50% 44%,transparent 0 34%,rgba(0,0,0,.08) 58%,rgba(0,0,0,.68) 100%);pointer-events:none}.pxexp-grain{opacity:.09;pointer-events:none;background-image:radial-gradient(circle at 20% 30%,#fff 0 1px,transparent 1.2px),radial-gradient(circle at 80% 60%,#fff 0 1px,transparent 1.2px);background-size:7px 7px,11px 11px;mix-blend-mode:soft-light}
.pxexp-architecture{position:absolute;left:50%;top:50%;width:min(1180px,84vw);height:min(720px,74vh);transform:translate(-50%,-46%);perspective:1100px;transform-style:preserve-3d;transition:all .5s ease}.pxexp-plane,.pxexp-window,.pxexp-feature,.pxexp-light-line{position:absolute;transition:all .6s cubic-bezier(.2,.75,.2,1)}
.pxexp-floor{left:8%;right:8%;bottom:-2%;height:54%;background:linear-gradient(180deg,rgba(236,226,211,.28),rgba(82,74,66,.96));clip-path:polygon(14% 0,86% 0,100% 100%,0 100%);box-shadow:inset 0 1px rgba(255,255,255,.22)}.pxexp-ceiling{left:11%;right:11%;top:0;height:22%;background:linear-gradient(180deg,rgba(25,27,31,.96),rgba(126,119,108,.28));clip-path:polygon(0 0,100% 0,86% 100%,14% 100%)}.pxexp-wall-left{left:0;top:0;bottom:0;width:29%;background:linear-gradient(90deg,#191b1d,rgba(87,83,77,.68));clip-path:polygon(0 0,100% 18%,100% 80%,0 100%)}.pxexp-wall-right{right:0;top:0;bottom:0;width:29%;background:linear-gradient(270deg,#151719,rgba(92,86,78,.68));clip-path:polygon(0 18%,100% 0,100% 100%,0 80%)}.pxexp-wall-back{left:28%;right:28%;top:18%;bottom:20%;background:linear-gradient(180deg,rgba(70,69,67,.68),rgba(26,27,29,.92));box-shadow:0 0 80px rgba(0,0,0,.35)}
.pxexp-window{top:28%;width:14%;height:34%;background:linear-gradient(180deg,rgba(168,198,214,.72),rgba(238,191,143,.42));box-shadow:0 0 40px rgba(255,210,156,.16),inset 0 0 0 2px rgba(255,255,255,.14)}.pxexp-window-a{left:34%}.pxexp-window-b{right:34%}.pxexp-feature{bottom:18%;background:rgba(20,22,24,.94);box-shadow:0 20px 50px rgba(0,0,0,.32)}.pxexp-feature-a{left:34%;width:16%;height:14%}.pxexp-feature-b{left:51%;width:15%;height:9%}.pxexp-feature-c{right:24%;width:8%;height:31%;background:rgba(211,194,169,.72)}.pxexp-light-line{height:1px;background:rgba(255,230,192,.66);box-shadow:0 0 18px rgba(255,214,155,.55)}.pxexp-light-line-a{left:24%;right:24%;top:22%}.pxexp-light-line-b{left:30%;right:30%;bottom:21%}
/* Scene art directions */
.pxexp-page[data-scene-kind="exterior"] .pxexp-architecture{top:53%;width:min(1260px,90vw);height:min(680px,72vh)}.pxexp-page[data-scene-kind="exterior"] .pxexp-ceiling{display:none}.pxexp-page[data-scene-kind="exterior"] .pxexp-floor{height:38%;background:linear-gradient(180deg,#5f655d,#1b1e1a)}.pxexp-page[data-scene-kind="exterior"] .pxexp-wall-left{left:13%;width:23%;top:18%;bottom:28%;clip-path:none;background:#222529}.pxexp-page[data-scene-kind="exterior"] .pxexp-wall-right{right:13%;width:23%;top:12%;bottom:28%;clip-path:none;background:#191c20}.pxexp-page[data-scene-kind="exterior"] .pxexp-wall-back{left:35%;right:35%;top:8%;bottom:28%;background:#34383a}.pxexp-page[data-scene-kind="exterior"] .pxexp-window-a{left:18%;top:30%;height:22%;width:12%}.pxexp-page[data-scene-kind="exterior"] .pxexp-window-b{right:18%;top:25%;height:26%;width:12%}.pxexp-page[data-scene-kind="exterior"] .pxexp-feature-a{left:43%;width:14%;height:40%;bottom:28%;background:#17191b}.pxexp-page[data-scene-kind="exterior"] .pxexp-feature-b{left:10%;right:10%;width:auto;height:4%;bottom:24%;background:#b9a17f}.pxexp-page[data-scene-kind="exterior"] .pxexp-feature-c{right:6%;bottom:20%;width:11%;height:18%;background:#2f5c49}.pxexp-page[data-scene-kind="exterior"] .pxexp-sky{background:linear-gradient(180deg,#111d30,#526b7d 55%,#d2a87d)}
.pxexp-page[data-scene-kind="entrance"] .pxexp-wall-back{background:linear-gradient(90deg,#2a2e31 0 42%,#9a8d7d 42% 44%,#191c1e 44%)}.pxexp-page[data-scene-kind="entrance"] .pxexp-feature-a{left:44%;bottom:19%;width:12%;height:44%;background:#111416}.pxexp-page[data-scene-kind="entrance"] .pxexp-window-a{left:29%;width:8%;height:42%;top:23%}.pxexp-page[data-scene-kind="entrance"] .pxexp-window-b{right:29%;width:8%;height:42%;top:23%}
.pxexp-page[data-scene-kind="living"] .pxexp-ceiling{height:12%}.pxexp-page[data-scene-kind="living"] .pxexp-wall-back{top:10%;bottom:18%}.pxexp-page[data-scene-kind="living"] .pxexp-window-a{left:29%;top:17%;width:16%;height:50%}.pxexp-page[data-scene-kind="living"] .pxexp-window-b{right:29%;top:17%;width:16%;height:50%}.pxexp-page[data-scene-kind="living"] .pxexp-feature-a{left:36%;bottom:17%;width:28%;height:12%;background:#5b5147}.pxexp-page[data-scene-kind="living"] .pxexp-feature-b{left:40%;bottom:29%;width:20%;height:8%;background:#7d6f62}.pxexp-page[data-scene-kind="living"] .pxexp-feature-c{right:19%;height:44%;bottom:18%;background:#86735b}
.pxexp-page[data-scene-kind="bathroom"] .pxexp-sky{background:linear-gradient(180deg,#0e1216,#31404b 60%,#8c7f70)}.pxexp-page[data-scene-kind="bathroom"] .pxexp-wall-back{background:repeating-linear-gradient(90deg,#4b4d4f 0 50px,#515355 50px 52px)}.pxexp-page[data-scene-kind="bathroom"] .pxexp-window-a{display:none}.pxexp-page[data-scene-kind="bathroom"] .pxexp-window-b{right:39%;width:20%;height:36%;background:#17191c;box-shadow:0 0 0 4px #b0a38d}.pxexp-page[data-scene-kind="bathroom"] .pxexp-feature-a{left:35%;width:30%;height:10%;background:#c8bca8}.pxexp-page[data-scene-kind="bathroom"] .pxexp-feature-c{right:20%;width:7%;height:34%;background:#2f3437}
.pxexp-page[data-scene-kind="kitchen"] .pxexp-wall-back{background:linear-gradient(180deg,#5b5a56 0 28%,#242729 28%)}.pxexp-page[data-scene-kind="kitchen"] .pxexp-feature-a{left:31%;width:38%;height:16%;bottom:20%;background:#aa9a84}.pxexp-page[data-scene-kind="kitchen"] .pxexp-feature-b{left:34%;width:32%;height:7%;bottom:38%;background:#181b1e}.pxexp-page[data-scene-kind="kitchen"] .pxexp-feature-c{right:27%;width:10%;height:46%;bottom:20%;background:#3b3d3d}
.pxexp-page[data-scene-kind="dining"] .pxexp-feature-a{left:34%;width:32%;height:7%;bottom:27%;background:#7d6a51}.pxexp-page[data-scene-kind="dining"] .pxexp-feature-b{left:36%;width:4%;height:24%;bottom:4%;background:#232528}.pxexp-page[data-scene-kind="dining"] .pxexp-feature-c{right:37%;width:4%;height:24%;bottom:4%;background:#232528}.pxexp-page[data-scene-kind="dining"] .pxexp-light-line-a{top:17%;left:42%;right:42%;height:60px;width:auto;background:linear-gradient(180deg,rgba(255,224,180,.9),transparent);box-shadow:0 -20px 40px rgba(255,213,158,.45)}
.pxexp-page[data-scene-kind="staircase"] .pxexp-wall-back{background:linear-gradient(125deg,#242729 0 47%,#a79278 47% 50%,#17191b 50%)}.pxexp-page[data-scene-kind="staircase"] .pxexp-feature-a{left:34%;bottom:20%;width:34%;height:7%;transform:rotate(-22deg);transform-origin:left center;background:#a89273;box-shadow:0 -70px 0 rgba(168,146,115,.85),0 -140px 0 rgba(168,146,115,.72),0 -210px 0 rgba(168,146,115,.58)}.pxexp-page[data-scene-kind="staircase"] .pxexp-window-a{left:28%;height:48%;width:9%}.pxexp-page[data-scene-kind="staircase"] .pxexp-window-b{display:none}
.pxexp-page[data-scene-kind="bedroom"] .pxexp-feature-a{left:36%;width:28%;height:18%;bottom:19%;background:#b0a18e}.pxexp-page[data-scene-kind="bedroom"] .pxexp-feature-b{left:41%;width:18%;height:22%;bottom:37%;background:#6e6257}.pxexp-page[data-scene-kind="bedroom"] .pxexp-feature-c{right:26%;width:7%;height:38%;background:#8a765a}.pxexp-page[data-scene-kind="bedroom"] .pxexp-window-a{left:29%;width:13%;height:42%}.pxexp-page[data-scene-kind="bedroom"] .pxexp-window-b{right:29%;width:13%;height:42%}
.pxexp-page[data-scene-kind="balcony"] .pxexp-sky{background:linear-gradient(180deg,#243553 0%,#8c6c72 55%,#f0af79 100%)}.pxexp-page[data-scene-kind="balcony"] .pxexp-ceiling,.pxexp-page[data-scene-kind="balcony"] .pxexp-wall-back{display:none}.pxexp-page[data-scene-kind="balcony"] .pxexp-wall-left,.pxexp-page[data-scene-kind="balcony"] .pxexp-wall-right{width:10%;background:#1b1c1f}.pxexp-page[data-scene-kind="balcony"] .pxexp-window-a,.pxexp-page[data-scene-kind="balcony"] .pxexp-window-b{display:none}.pxexp-page[data-scene-kind="balcony"] .pxexp-feature-a{left:23%;width:54%;height:3%;bottom:31%;background:#b8a17f}.pxexp-page[data-scene-kind="balcony"] .pxexp-feature-b{left:23%;width:3%;height:24%;bottom:7%;background:#b8a17f}.pxexp-page[data-scene-kind="balcony"] .pxexp-feature-c{right:23%;width:3%;height:24%;bottom:7%;background:#b8a17f}
.pxexp-topbar{position:absolute;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:clamp(18px,2.4vw,34px) clamp(18px,3vw,46px);pointer-events:none}.pxexp-brand{display:flex;align-items:center;gap:12px;min-width:0}.pxexp-brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.38);font-size:11px;font-weight:900;letter-spacing:.08em;background:rgba(0,0,0,.16);backdrop-filter:blur(10px)}.pxexp-brand div{display:flex;flex-direction:column;min-width:0;text-shadow:0 2px 12px rgba(0,0,0,.35)}.pxexp-brand strong{font-size:13px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pxexp-brand small{margin-top:3px;font-size:9px;letter-spacing:.12em;color:rgba(255,255,255,.58);text-transform:uppercase}.pxexp-top-actions{display:flex;align-items:center;gap:8px;pointer-events:auto}.pxexp-top-actions button,.pxexp-top-actions a,.pxexp-scene-count{height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.24);background:rgba(10,12,15,.24);backdrop-filter:blur(10px);padding:0 13px;font-size:9px;font-weight:800;letter-spacing:.12em}.pxexp-top-actions button{cursor:pointer}.pxexp-top-actions button:hover,.pxexp-top-actions a:hover{background:rgba(255,255,255,.12)}
.pxexp-content{position:absolute;z-index:12;left:clamp(20px,5vw,78px);bottom:clamp(92px,12vh,150px);max-width:min(680px,70vw);pointer-events:none}.pxexp-copy{transition:opacity .24s ease,transform .42s ease}.pxexp-page.is-leaving .pxexp-copy{opacity:0;transform:translateY(20px)}.pxexp-page.is-entering .pxexp-copy{animation:pxexpCopyIn .68s .16s both}@keyframes pxexpCopyIn{0%{opacity:0;transform:translateY(22px)}100%{opacity:1;transform:none}}.pxexp-eyebrow{display:block;margin-bottom:12px;font-size:10px;font-weight:800;letter-spacing:.22em;color:rgba(255,255,255,.68)}.pxexp-copy h1{margin:0;font-size:clamp(42px,6.2vw,96px);line-height:.91;letter-spacing:-.055em;font-weight:800;text-wrap:balance;text-shadow:0 8px 36px rgba(0,0,0,.24)}.pxexp-copy p{max-width:620px;margin:18px 0 0;font-size:clamp(13px,1.25vw,18px);line-height:1.65;color:rgba(255,255,255,.72);text-shadow:0 2px 16px rgba(0,0,0,.45)}.pxexp-meta{margin-top:16px;font-size:10px;font-weight:700;letter-spacing:.15em;color:var(--pxexp-accent)}
.pxexp-direction-hud{position:absolute;z-index:18;right:clamp(18px,3vw,44px);bottom:clamp(22px,3vw,44px);display:grid;grid-template-columns:48px 54px 48px;align-items:center;gap:6px}.pxexp-direction-hud>div{display:grid;grid-template-rows:48px 18px 48px;gap:4px}.pxexp-direction-hud button{width:48px;height:48px;border:1px solid rgba(255,255,255,.28);background:rgba(9,11,14,.34);backdrop-filter:blur(11px);cursor:pointer;font-size:18px}.pxexp-direction-hud>div button{width:54px}.pxexp-direction-hud span{display:grid;place-items:center;font-size:7px;font-weight:800;letter-spacing:.16em;color:rgba(255,255,255,.55)}.pxexp-direction-hud button[disabled]{opacity:.18;cursor:default}.pxexp-direction-hud button:not([disabled]):hover{background:rgba(255,255,255,.13)}
.pxexp-route-hint{position:absolute;z-index:14;left:50%;bottom:28px;transform:translateX(-50%);font-size:9px;font-weight:700;letter-spacing:.14em;color:rgba(255,255,255,.54);white-space:nowrap;transition:opacity .4s}.pxexp-page.is-used .pxexp-route-hint{opacity:0}.pxexp-progress{position:absolute;z-index:30;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.11)}.pxexp-progress i{display:block;height:100%;width:0;background:var(--pxexp-accent);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.pxexp-room-menu{position:absolute;z-index:40;top:0;right:0;width:min(390px,88vw);height:100%;padding:24px;background:rgba(8,10,13,.9);backdrop-filter:blur(24px);transform:translateX(102%);transition:transform .35s cubic-bezier(.2,.8,.2,1);box-shadow:-20px 0 50px rgba(0,0,0,.24)}.pxexp-page.is-menu-open .pxexp-room-menu{transform:none}.pxexp-room-menu-head{display:flex;align-items:center;justify-content:space-between;padding:6px 0 18px;border-bottom:1px solid rgba(255,255,255,.14)}.pxexp-room-menu-head strong{font-size:22px}.pxexp-room-menu-head button{width:40px;height:40px;border:1px solid rgba(255,255,255,.2);background:transparent;cursor:pointer;font-size:24px}.pxexp-room-menu nav{display:flex;flex-direction:column;padding-top:12px}.pxexp-room-menu nav button{display:grid;grid-template-columns:44px 1fr;text-align:left;align-items:center;min-height:54px;border:0;border-bottom:1px solid rgba(255,255,255,.09);background:transparent;cursor:pointer;color:rgba(255,255,255,.78)}.pxexp-room-menu nav button span{font-size:9px;color:rgba(255,255,255,.38)}.pxexp-room-menu nav button.is-active{color:#fff}.pxexp-room-menu nav button.is-active span{color:var(--pxexp-accent)}
@media(max-width:720px){.pxexp-topbar{padding:14px}.pxexp-brand small{display:none}.pxexp-top-actions .pxexp-scene-count{display:none}.pxexp-top-actions button,.pxexp-top-actions a{height:36px;padding:0 10px}.pxexp-content{left:18px;right:18px;bottom:118px;max-width:none}.pxexp-copy h1{font-size:clamp(42px,14vw,70px);max-width:92%}.pxexp-copy p{font-size:13px;max-width:92%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pxexp-meta{font-size:9px}.pxexp-direction-hud{left:50%;right:auto;bottom:18px;transform:translateX(-50%);grid-template-columns:46px 50px 46px}.pxexp-direction-hud>div{grid-template-rows:42px 14px 42px}.pxexp-direction-hud button{width:46px;height:46px}.pxexp-direction-hud>div button{width:50px;height:42px}.pxexp-route-hint{display:none}.pxexp-architecture{width:120vw;height:68vh}.pxexp-world{inset:-8%}}
@media(prefers-reduced-motion:reduce){.pxexp-world,.pxexp-copy,.pxexp-room-menu,.pxexp-progress i{transition:none!important;animation:none!important}.pxexp-page.is-leaving .pxexp-world{filter:none;transform:none}}
/* Direction-aware cinematic travel */
.pxexp-page.is-leaving[data-travel="left"] .pxexp-world{transform:perspective(1200px) translateX(8%) rotateY(-2deg) scale(1.07);filter:blur(4px);opacity:.12}.pxexp-page.is-leaving[data-travel="right"] .pxexp-world{transform:perspective(1200px) translateX(-8%) rotateY(2deg) scale(1.07);filter:blur(4px);opacity:.12}.pxexp-page.is-leaving[data-travel="up"] .pxexp-world{transform:perspective(1200px) translateZ(150px) scale(1.14);filter:blur(5px);opacity:.12}.pxexp-page.is-leaving[data-travel="down"] .pxexp-world{transform:perspective(1200px) translateZ(-120px) scale(.9);filter:blur(4px);opacity:.12}
.pxexp-page.is-entering[data-travel="left"] .pxexp-world{animation:pxexpInFromLeft .72s cubic-bezier(.16,.84,.22,1) both}.pxexp-page.is-entering[data-travel="right"] .pxexp-world{animation:pxexpInFromRight .72s cubic-bezier(.16,.84,.22,1) both}.pxexp-page.is-entering[data-travel="up"] .pxexp-world{animation:pxexpInForward .72s cubic-bezier(.16,.84,.22,1) both}.pxexp-page.is-entering[data-travel="down"] .pxexp-world{animation:pxexpInBack .72s cubic-bezier(.16,.84,.22,1) both}
@keyframes pxexpInFromLeft{0%{opacity:.12;filter:blur(4px);transform:perspective(1200px) translateX(-8%) rotateY(2deg) scale(1.07)}100%{opacity:1;filter:none;transform:perspective(1200px) rotateY(var(--pxexp-look-x)) rotateX(var(--pxexp-look-y)) scale(1.04)}}@keyframes pxexpInFromRight{0%{opacity:.12;filter:blur(4px);transform:perspective(1200px) translateX(8%) rotateY(-2deg) scale(1.07)}100%{opacity:1;filter:none;transform:perspective(1200px) rotateY(var(--pxexp-look-x)) rotateX(var(--pxexp-look-y)) scale(1.04)}}@keyframes pxexpInForward{0%{opacity:.12;filter:blur(5px);transform:perspective(1200px) translateZ(-130px) scale(.9)}100%{opacity:1;filter:none;transform:perspective(1200px) rotateY(var(--pxexp-look-x)) rotateX(var(--pxexp-look-y)) scale(1.04)}}@keyframes pxexpInBack{0%{opacity:.12;filter:blur(4px);transform:perspective(1200px) translateZ(130px) scale(1.14)}100%{opacity:1;filter:none;transform:perspective(1200px) rotateY(var(--pxexp-look-x)) rotateX(var(--pxexp-look-y)) scale(1.04)}}
body.pxexp-route-active>.pxth-builder-area[data-builder-area="header"],body.pxexp-route-active>.pxth-builder-area[data-builder-area="footer"],body.pxexp-route-active>.pxth-floating-contact{display:none!important}body.pxexp-route-active{margin:0!important;overflow:hidden!important;background:#0c0d10!important}
