:root{color-scheme:dark;background:#071225;color:#eeddbc;font-family:Georgia,serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,select,input{touch-action:manipulation}button,select{font:inherit}#world{position:relative;width:100%;height:100svh;overflow:hidden;isolation:isolate;background:linear-gradient(#3d6785,#101d30)}#camera{position:absolute;inset:0;transform-origin:var(--gate-x,59.5%) var(--gate-y,48%);will-change:transform;transition:filter 1.6s}#landscape{position:absolute;inset:0;overflow:hidden}.scene{position:absolute;max-width:none;display:block;opacity:0;pointer-events:none;transition:opacity 1.2s;will-change:opacity}#environment,#weather-light,#night-depth{position:absolute;inset:0;pointer-events:none}#environment{width:100%;height:100%}#weather-light{background:linear-gradient(180deg,#0f20388a,#21304525 60%,#07152138);opacity:0;transition:opacity 2s;mix-blend-mode:multiply}#night-depth{background:radial-gradient(ellipse at 60% 50%,transparent 15%,#00032740 100%);opacity:0;transition:opacity 1.5s}#brand{position:absolute;left:var(--gate-x,59.5%);top:var(--brand-y,25px);width:var(--brand-w,320px);transform:translateX(-50%);z-index:4;transition:opacity .55s}.brand-seat{position:relative;filter:drop-shadow(0 8px 10px #0006)}.brand-seat img{display:block;width:100%;height:auto}#entry{position:absolute;left:var(--gate-x,59.5%);top:var(--entry-y,76%);transform:translateX(-50%);width:min(390px,80vw);text-align:center;z-index:4;transition:opacity .55s}#enter{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;padding:17px 23px;color:#f9dfaa;background:linear-gradient(120deg,#06142cec,#142848ed,#07162fee);box-shadow:0 0 0 4px #07152588,0 12px 25px #0005,inset 0 0 0 1px #dfbf7260;border:1px solid #c4a15d;border-radius:3px;text-decoration:none;text-transform:uppercase;letter-spacing:.035em;font-size:18px;text-shadow:0 1px 3px #000;transition:background .25s,box-shadow .25s}#enter:hover{box-shadow:0 0 0 4px #07152588,0 12px 25px #0005,0 0 24px #d9b77238}#enter span{font-size:12px;color:#e6c680}#entry-status{font:12px system-ui;min-height:20px;text-shadow:0 1px 5px #000}#atmosphere{position:fixed;z-index:10;right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));font:13px system-ui;filter:drop-shadow(0 5px 8px #0003)}summary{cursor:pointer;list-style:none;padding:13px 16px;background:#07162de8;border:1px solid #c4a15d70;border-radius:3px;display:flex;gap:18px;align-items:center}summary::-webkit-details-marker{display:none}.controls{margin-top:6px;width:min(280px,calc(100vw - 36px));padding:20px;background:#08162ef2;border:1px solid #c4a15d60;border-radius:3px;display:grid;gap:12px;backdrop-filter:blur(12px)}.controls label{display:flex;align-items:center;justify-content:space-between;gap:12px}output{font-variant-numeric:tabular-nums;color:#f2d5a0}input{width:100%;accent-color:#d3ae68}select,.controls button{width:100%;padding:10px;background:#12223a;border:1px solid #b99a5460;border-radius:3px;color:#ecd7af}.controls p{margin:0;color:#abbbce;line-height:1.5;font-size:11px}#sound{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:10;width:46px;height:46px;border-radius:50%;border:1px solid #ddbf7780;background:#07182bd9;color:#f3dba4;font-size:22px;cursor:pointer}#sound[aria-pressed=true]{box-shadow:0 0 20px #d8b76538}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #8ecfff;outline-offset:5px}#gateway{position:absolute;left:var(--door-x);top:var(--door-y);width:var(--door-w);height:var(--door-h);perspective:1000px;pointer-events:none;opacity:0}#portal{position:absolute;inset:0;overflow:hidden;clip-path:polygon(0 15%,18% 6%,50% 0,82% 6%,100% 15%,100% 100%,0 100%);background:linear-gradient(90deg,#674826,#d0a263 18%,#ffffdb 48%,#ffffdb 52%,#d0a263 82%,#674826);box-shadow:0 0 150px 70px #ffdb8a55}.vault{position:absolute;inset:0;background:repeating-linear-gradient(90deg,#46332500 0 14%,#724c2470 14% 17%,transparent 17% 28%),radial-gradient(ellipse at 50% 25%,#fffddd,#d3b27366 38%,#64442877 70%);filter:blur(3px)}.leaf{position:absolute;width:50%;height:100%;backface-visibility:hidden;transition:transform 2.5s cubic-bezier(.32,.05,.19,1),filter 2.5s}.leaf:first-of-type{left:0;transform-origin:left center;clip-path:polygon(0 15%,35% 6%,100% 0,100% 100%,0 100%)}.leaf:last-of-type{right:0;transform-origin:right center;clip-path:polygon(0 0,65% 6%,100% 15%,100% 100%,0 100%)}body.entering #gateway{opacity:1}body.entering #brand,body.entering #entry,body.entering #atmosphere,body.entering #sound{opacity:0;pointer-events:none}body.doors-open #door-left{transform:rotateY(-82deg);filter:brightness(.78)}body.doors-open #door-right{transform:rotateY(82deg);filter:brightness(.78)}#arrival{position:fixed;inset:0;z-index:15;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 50%,#fffce5,#ddc293);transition:opacity 1s}body.arriving #arrival{opacity:1}body.raining #camera{filter:saturate(.8)}body.snowing #camera{filter:saturate(.73)}@media(max-width:600px){#atmosphere{right:12px;top:12px}summary{font-size:12px;padding:10px 12px}#enter{padding:15px 18px;font-size:15px}#entry{width:78vw}#sound{width:42px;height:42px;right:12px;bottom:16px}}@media(max-height:500px){#enter{padding:11px 16px;font-size:14px}#entry{width:280px}#brand{width:190px}#atmosphere{top:10px;right:10px}.controls{max-height:calc(100svh - 70px);overflow:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}#environment{display:none}#camera{will-change:auto}.scene{will-change:auto}}

#portal{background-size:100% 100%;background-repeat:no-repeat}.vault{background:radial-gradient(ellipse at 50% 45%,#fff4c51a,transparent 75%);filter:none}

/* v3: one quiet title treatment, a legible entrance, subordinate world controls. */
.brand-seat{filter:drop-shadow(0 3px 5px #03102180)}
.brand-seat:before{display:none}
/* Generated transparent sapphire/gold crest; logo stays a separate layer. */
body[data-presentation=crest] #brand:before{content:"";position:absolute;top:calc(-1 * var(--brand-y));left:50%;width:132%;height:calc(var(--brand-y) + 100% + 12px);transform:translateX(-50%);background:url("/living-entrance-v15/assets/crest-polished-v12.webp") center / 100% 100% no-repeat;opacity:.82;filter:drop-shadow(0 3px 4px #03102150);z-index:-1;pointer-events:none}
body[data-presentation=crest] #brand:after{display:none}

#entry{width:min(420px,82vw)}
#enter{min-height:70px;padding:18px 25px;font-size:22px;letter-spacing:.045em;border:1px solid #c6a56b;border-radius:2px;box-shadow:0 8px 22px #03102140;background:linear-gradient(110deg,#081930ed,#102442ed)}
#enter:hover{background:linear-gradient(110deg,#102542f5,#173351f5);box-shadow:0 8px 22px #03102140,0 0 20px #d9b77222}
#atmosphere summary{font-family:Georgia,serif;font-size:14px;color:#e7d5b3;background:#07172bca;border-color:#c6a56b55;padding:11px 14px}
#sound{width:42px;height:42px;background:#07172bca;border-color:#c6a56b55;display:grid;place-items:center}
#sound svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sound-on{display:none}#sound[aria-pressed=true] .sound-on{display:block}#sound[aria-pressed=true] .sound-off{display:none}
body[data-layout=portrait] #world{background:radial-gradient(ellipse at 50% 20%,#162e48,#071225 70%)}
body[data-layout=portrait] #camera{top:max(25%,185px);height:min(50%,calc(100% - max(25%,185px) - 148px));bottom:auto;overflow:hidden;mask-image:linear-gradient(transparent,#000 5%,#000 96%,transparent)}
body[data-layout=portrait] #brand,body[data-layout=portrait] #entry{left:50%}
body[data-layout=portrait] #enter{min-height:60px;font-size:17px;padding:15px 18px}
@media(max-height:500px){#enter{min-height:48px;padding:11px 16px;font-size:16px}#entry{width:320px}}
@media(max-width:360px){body[data-layout=portrait] #enter{font-size:15px;white-space:nowrap}body[data-layout=portrait] #enter span[aria-hidden]{display:none}}

/* Crest drawer: disclosure navigation, not an application role=menu. */
#brand-toggle{position:relative;display:block;width:100%;padding:0;border:0;background:none;color:#edd5a3;cursor:pointer;-webkit-tap-highlight-color:transparent}
#brand-toggle .brand-seat{display:block}
.brand-chevron{position:absolute;left:50%;bottom:-15px;transform:translateX(-50%);font:18px system-ui;color:#fff0b5;text-shadow:0 1px 4px #061225;transition:transform .35s}
body.brand-menu-open .brand-chevron{transform:translateX(-50%) rotate(180deg)}
#brand-drawer{position:absolute;top:calc(100% + 15px);left:50%;width:140%;transform:translateX(-50%);display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1),opacity .25s,visibility .45s;pointer-events:none}
#brand-drawer nav{min-height:0;overflow:hidden}
body.brand-menu-open #brand-drawer{grid-template-rows:1fr;opacity:1;visibility:visible;pointer-events:auto}
.brand-links{padding:12px 18px 16px;background:linear-gradient(135deg,#102b46ed,#06172bed);border:1px solid #c9a765a0;border-radius:2px 2px 12px 12px;box-shadow:0 15px 35px #020b1b70;backdrop-filter:blur(14px);max-height:55svh;overflow:auto}
.brand-links a,.brand-links button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 9px;border:0;border-bottom:1px solid #b99a5430;background:none;color:#f0dfbd;font:17px Georgia,serif;text-decoration:none;text-align:left;cursor:pointer}
.brand-links>:last-child{border-bottom:0}.brand-links a:hover,.brand-links button:hover{background:#9fbce914;color:#fff2ce}.brand-links span{font:13px system-ui;color:#baaa89}
#about-dialog{position:fixed;width:min(440px,calc(100vw - 36px));padding:36px;color:#eeddbc;background:linear-gradient(135deg,#132e49,#07182c);border:1px solid #c6a56b;border-radius:4px;box-shadow:0 25px 70px #0008;font:17px/1.6 Georgia,serif}
#about-dialog::backdrop{background:#020c1ba8;backdrop-filter:blur(5px)}#about-title{font-size:27px;font-weight:normal;margin:0 0 20px;color:#f1d195}#about-dialog p{margin:14px 0}.dialog-close{position:absolute;right:9px;top:6px;background:none;border:0;color:#eeddbc;font:28px system-ui;cursor:pointer;width:36px;height:36px}
body.brand-menu-open #brand{z-index:12}
@media(max-width:600px){.brand-links{padding:8px 13px 12px}.brand-links a,.brand-links button{font-size:16px;padding:12px 7px}}

.brand-links .coming-link{color:#c1b49b;cursor:default}.brand-links small{font:10px system-ui;color:#9eacb9;letter-spacing:.04em}
.social-placeholder{padding:10px 9px 0}.social-placeholder p{display:flex;justify-content:space-between;align-items:center;margin:5px 0 12px;font:14px Georgia,serif;color:#c1b49b}
.social-icons{display:flex;gap:12px}.brand-links .social-icons button{display:grid;place-items:center;width:39px;height:36px;padding:7px;border:1px solid #c6a56b45;border-radius:3px;color:#b9c6d5;cursor:default;background:#8aacc00a}.social-icons svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}
body[data-presentation=crest] #brand-toggle:before{content:"";position:absolute;left:-16%;right:-16%;top:calc(-1 * var(--brand-y));bottom:-12px;clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%)}

/* Matching generated footer dock. Its glass and rails reach the last page pixel. */
#entry{top:auto;bottom:0;width:min(430px,84vw);height:108px}
#entry:before{content:"";position:absolute;inset:0;background:url("/living-entrance-v15/assets/crest-polished-v12.webp") center / 100% 100% no-repeat;transform:rotate(180deg);opacity:.82;pointer-events:none;z-index:-1}
#enter,#enter:hover{height:100%;min-height:0;justify-content:center;padding:18px 24px calc(18px + env(safe-area-inset-bottom));background:none;border:0;border-radius:0;box-shadow:none;font-size:20px;color:#e6d4b0;text-shadow:0 1px 3px #041126;letter-spacing:.035em}
#enter>span[aria-hidden]{display:none}#enter #entry-label{font-size:inherit;color:inherit}
#enter:hover{color:#fff0cc}
#enter[aria-busy=true]{cursor:progress}
#entry-status{position:absolute;bottom:100%;left:0;right:0;margin:0 0 8px;color:#e5d7b7;pointer-events:none}
body.gate-prepared #gateway{opacity:1}
body[data-layout=portrait] #entry{height:94px;width:84vw}
body[data-layout=portrait] #enter{font-size:17px;min-height:0;padding:16px 18px calc(16px + env(safe-area-inset-bottom))}
body[data-layout=portrait] #sound{bottom:112px}
@media(max-height:500px){#entry{height:72px}#enter{font-size:16px;padding:12px 18px}}
@media(max-width:360px){body[data-layout=portrait] #enter{font-size:15px}}

.brand-seat img{filter:none}
body[data-presentation=crest] #brand:before{filter:brightness(.90) saturate(.86) drop-shadow(0 3px 4px #03102140)}
body[data-presentation=crest] #brand:before,#entry:before{filter:brightness(.90) saturate(.86) drop-shadow(0 3px 4px #03102140)}

body[data-layout=portrait] .scene{mask-image:linear-gradient(transparent,#000 5%,#000 96%,transparent)}

/* Footer shares the exact header plate width; 40% shorter than v12. */
#entry,body[data-layout=portrait] #entry{width:calc(var(--brand-w) * 1.32);height:64.8px}
body[data-layout=portrait] #entry{height:56.4px}
#enter,body[data-layout=portrait] #enter{padding:8px 14px calc(8px + env(safe-area-inset-bottom))}
#entry-label{display:block;width:100%;line-height:0}
#entry-label img{display:block;width:100%;height:auto;max-height:32px;object-fit:contain;filter:drop-shadow(0 1px 2px #02102480)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body[data-layout=portrait] #sound{bottom:74px}
@media(max-height:500px){#entry{height:43.2px}#enter{padding:6px 12px}#entry-label img{max-height:24px}}
/* Use the same width variable even on short landscape screens. */
#brand{width:var(--brand-w,235px)}
#entry-label img{width:92%;margin-inline:auto}

/* v14: one continuous banner; original logo docks mechanically at the footer. */
#brand{top:0;height:var(--brand-closed);pointer-events:none;transition:height .76s cubic-bezier(.22,.65,.25,1),opacity .55s;}
body[data-presentation=crest] #brand:before{top:0;width:132%;height:var(--banner-closed);background-image:url("/living-entrance-v15/assets/banner-lock-v14.webp");background-size:100% 100%;opacity:.96;filter:drop-shadow(0 4px 7px #02112560);transition:height .76s cubic-bezier(.22,.65,.25,1);}
#brand-toggle{position:absolute;left:0;top:0;transform:translateY(var(--logo-home));transition:transform .76s cubic-bezier(.22,.65,.25,1);pointer-events:auto;z-index:3;}
body[data-presentation=crest] #brand-toggle:before{top:0;bottom:-22px;clip-path:none;}
.brand-seat{filter:drop-shadow(0 3px 3px #02102660)}
.brand-chevron{bottom:8px;left:auto;right:12px;font-size:14px;color:#e6c17a;opacity:.8}
.lock-tongue{position:absolute;left:50%;top:calc(100% - 2px);width:38px;height:24px;transform:translateX(-50%);filter:drop-shadow(0 2px 2px #04112480);pointer-events:none;}
body.brand-menu-open #brand{height:var(--brand-open);}
body.brand-menu-open #brand:before{height:var(--banner-open);}
body.brand-menu-open #brand-toggle{transform:translateY(var(--logo-docked));}
#brand-drawer{top:20px;width:108%;max-height:var(--menu-space);transition:opacity .35s .16s,visibility .35s;grid-template-rows:1fr;transform:translateX(-50%) translateY(-12px);pointer-events:none;}
body.brand-menu-open #brand-drawer{transform:translateX(-50%);transition:opacity .35s .22s,visibility .35s,transform .55s .14s;}
.brand-links{background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;padding:8px 14px;max-height:var(--menu-space);}
.brand-links a,.brand-links button{font-size:16px;padding:13px 6px;text-shadow:0 1px 2px #051633;}
#entry,body[data-layout=portrait] #entry{height:var(--dock-height);width:calc(var(--brand-w) * 1.32);}
#entry:before{background-image:url("/living-entrance-v15/assets/entry-lock-v14.webp");transform:none;opacity:1;filter:drop-shadow(0 4px 7px #03102680);}
#entry{z-index:13;}
#enter,body[data-layout=portrait] #enter{padding:16px 18%;}
#entry-label img{width:100%;max-height:48px;}
#entry-status{bottom:100%;}
body.brand-menu-open #entry-status{opacity:0;}
body.brand-latched .lock-tongue{filter:drop-shadow(0 0 3px #f6cc7280);}
body.brand-latched #entry{filter:drop-shadow(0 0 5px #e3b45445);}
body[data-layout=portrait] #sound{bottom:calc(var(--dock-height) + 18px);}
@media(max-height:500px){#brand-drawer{top:8px}.brand-links{padding:4px 10px}.brand-links a,.brand-links button{font-size:13px;padding:8px 5px}.social-placeholder{padding-top:4px}.social-placeholder p{margin-bottom:5px}.brand-links .social-icons button{height:28px;width:30px;padding:5px}.lock-tongue{width:28px;height:20px}#enter{padding:12px 18%;}}
.lock-jaws{position:absolute;left:50%;top:calc(var(--dock-height) * .025);width:13%;height:calc(var(--dock-height) * .22);transform:translateX(-50%);pointer-events:none;z-index:2;}
.lock-jaw-left,.lock-jaw-right{transition:transform .17s ease-out;}
body.brand-latched .lock-jaw-left{transform:translateX(8px)}body.brand-latched .lock-jaw-right{transform:translateX(-8px)}
.brand-links .coming-link{white-space:nowrap;font-size:15px;}
@media(min-width:601px) and (min-height:501px){#brand-drawer{top:48px;max-height:calc(var(--menu-space) - 28px)}.brand-links a,.brand-links button{font-size:20px;padding:17px 7px;}.brand-links small{font-size:11px}.social-placeholder p{font-size:17px;margin-top:16px;}}
@media(max-width:600px){body.brand-menu-open #atmosphere,body.brand-menu-open #sound{opacity:0;pointer-events:none}.brand-links a,.brand-links button{font-size:15px;}.brand-links .coming-link{font-size:13px;}.brand-links small{font-size:9px;}}

/* v15: compact closed header, narrow rails, maximum portrait scene area. */
body[data-presentation=crest] #brand:before{width:108%;}
#entry,body[data-layout=portrait] #entry{width:calc(var(--brand-w) * 1.08);}
body[data-presentation=crest] #brand-toggle:before{left:-4%;right:-4%;}
#brand-drawer{width:100%;}
body[data-layout=portrait] #camera{top:var(--scene-top);bottom:var(--scene-bottom);height:auto;}
@media(max-width:600px){.brand-links{padding-inline:8px;}.brand-links .coming-link{font-size:12px;gap:4px;}.brand-links small{font-size:8px;}}
@media(max-width:600px){#atmosphere summary{font-size:0;gap:0;padding:10px;width:40px;height:40px;justify-content:center;}#atmosphere summary span{font-size:18px;}}

/* v26: supplied shield badge, independently scaled continuous top/bottom rails. */
:root{--frame-w:calc(var(--brand-w) * 1.82);--rail-height:calc(var(--frame-w) * 142 / 355)}
.world-frame{position:absolute;left:0;width:100%;display:flex;pointer-events:none;z-index:3;}
.world-frame i{display:block;flex:1;background-repeat:no-repeat;background-size:100% 100%;}
.world-frame i:nth-child(2){flex:0 0 var(--frame-w);}
.world-frame-top{top:0;height:var(--rail-height);}
.world-frame-top i:first-child{background-image:url('/living-entrance-v26/assets/header-left-v26.webp');}
.world-frame-top i:nth-child(2){background-image:url('/living-entrance-v26/assets/header-center-v26.webp');}
.world-frame-top i:last-child{background-image:url('/living-entrance-v26/assets/header-right-v26.webp');}
.world-frame-bottom{bottom:0;height:var(--dock-height);}
.world-frame-bottom i:first-child{background-image:url('/living-entrance-v26/assets/footer-left-v26.webp');}
.world-frame-bottom i:nth-child(2){background-image:url('/living-entrance-v26/assets/footer-center-v26.webp');}
.world-frame-bottom i:last-child{background-image:url('/living-entrance-v26/assets/footer-right-v26.webp');}
body[data-presentation=crest] #brand:before{width:182%;filter:none;}
body[data-presentation=crest] #brand-toggle:before{display:none;}
#brand-drawer{top:calc(var(--rail-height) + 8px);width:170%;max-height:var(--menu-space);}
body[data-presentation=crest] #brand-drawer{top:calc(var(--rail-height) + 8px);}
.brand-seat img{filter:none;}
.brand-chevron{display:none;}
#entry,body[data-layout=portrait] #entry{width:var(--frame-w);}
#entry:before{display:none;}
#enter,body[data-layout=portrait] #enter{padding:12px 13%;}
#entry-label img{max-height:28px;}
#atmosphere{top:calc(var(--rail-height) * .46 + 8px);}
#atmosphere summary{background:url('/living-entrance-v26/assets/atmosphere-v26.webp') center / 100% 100% no-repeat;border:0;box-shadow:none;}
@media(max-height:500px){#brand-drawer{top:calc(var(--rail-height) + 2px);} .brand-links a,.brand-links button{padding-block:6px;} #entry-label img{max-height:20px;}}
@media(max-width:600px){#atmosphere{right:8px;}.brand-links a,.brand-links button{padding-block:12px;}}
body[data-presentation=crest] #brand:before{width:var(--frame-w);}
#brand-drawer{width:calc(var(--frame-w) * .94);}
body[data-layout=portrait] #camera{top:0;bottom:0;height:auto;mask-image:none;}
body[data-layout=portrait] .scene{mask-image:none;}
body.entering .world-frame{opacity:0;transition:opacity .55s;}
#brand-drawer{width:calc(var(--frame-w) * .84);}

/* v30: crop and pointed silhouette of the approved v25 sapphire gate. */
#portal{clip-path:polygon(0 23%,5% 17%,12.5% 12%,22.5% 7%,35% 3%,50% 0,65% 3%,77.5% 7%,87.5% 12%,95% 17%,100% 23%,100% 100%,0 100%)}
.leaf:first-of-type{clip-path:polygon(0 23%,10% 17%,25% 12%,45% 7%,70% 3%,100% 0,100% 100%,0 100%)}
.leaf:last-of-type{clip-path:polygon(0 0,30% 3%,55% 7%,75% 12%,90% 17%,100% 23%,100% 100%,0 100%)}

#night-motion{opacity:0;pointer-events:none;object-fit:fill;transition:opacity .35s;max-width:none;}
@media(prefers-reduced-motion:reduce){#night-motion{display:none}}

#night-motion{mask-image:url('/living-entrance-v40/assets/motion-mask-v40.png');mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:url('/living-entrance-v40/assets/motion-mask-v40.png');-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;}

body.raining #camera,body.snowing #camera{filter:none;}
.scene-layer{position:absolute;inset:0;pointer-events:none;transition:opacity 1.2s;}#scene-layer-b{opacity:0;}#night-motion,#weather-motion-b{mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;}

/* v43: pixel-extracted user artwork, live bilingual navigation. */
:root{--rail-height:calc(var(--frame-w) * 119 / 370)}
.world-frame-top i:first-child{background-image:url('/living-entrance-v43/assets/header-left-v43.webp')}
.world-frame-top i:nth-child(2){background-image:url('/living-entrance-v43/assets/header-center-v43.webp')}
.world-frame-top i:last-child{background-image:url('/living-entrance-v43/assets/header-right-v43.webp')}
.world-frame-top i:first-child,.world-frame-top i:last-child{height:67.23%}
.world-frame-bottom i:first-child{background-image:url('/living-entrance-v43/assets/footer-left-v43.webp')}
.world-frame-bottom i:nth-child(2){background-image:url('/living-entrance-v43/assets/footer-center-v43.webp')}
.world-frame-bottom i:last-child{background-image:url('/living-entrance-v43/assets/footer-right-v43.webp')}
.world-frame-bottom{align-items:flex-end}
.world-frame-bottom i:first-child,.world-frame-bottom i:last-child{height:61.39%}
.world-frame-bottom i:nth-child(2){height:100%}
body[data-presentation=crest] #brand:before{width:106%;background:url('/living-entrance-v43/assets/banner-left-v43.webp') left top / 10px 100% no-repeat,url('/living-entrance-v43/assets/banner-right-v43.webp') right top / 10px 100% no-repeat,url('/living-entrance-v43/assets/banner-material-v43.webp') center / 100% 100% no-repeat;border-inline:0;clip-path:polygon(0 0,100% 0,100% 96%,50% 100%,0 96%);box-shadow:inset 0 0 0 2px #624414}
body[data-presentation=crest] #brand:after{content:'';position:absolute;left:-3%;top:calc(var(--banner-open) - 42px);width:106%;height:60px;background:url('/living-entrance-v43/assets/banner-bottom-v43.webp') center / 100% 100% no-repeat;opacity:0;transition:opacity .3s;z-index:1;pointer-events:none}
body.brand-menu-open #brand:after{opacity:1}
#brand-drawer,body[data-presentation=crest] #brand-drawer{top:calc(var(--rail-height) * .72 + 10px);width:100%;max-height:var(--menu-space)}
.brand-links{padding:0 12px;max-height:var(--menu-space);overflow:auto;scrollbar-width:thin;scrollbar-color:#c49b47 #052052}
.brand-links .menu-row{display:grid;grid-template-columns:30px 1fr 12px;gap:10px;align-items:center;min-height:62px;padding:12px 0;border-bottom:1px solid #bfa05360;font-size:18px;line-height:1.1;color:#f9e0ad}
.menu-icon{width:30px;height:34px;object-fit:contain}
.brand-links .menu-copy{font:inherit;color:inherit;min-width:0}
.menu-copy>[data-i18n]{display:block}
.brand-links .menu-copy small{display:block;font:11px/1.25 Georgia,serif;color:#cbd5e9;margin-top:5px;letter-spacing:0}
.menu-copy em{display:block;font:9px/1.2 system-ui;color:#aebfda;margin-top:4px}
.brand-links .menu-arrow{font:28px Georgia;color:#edbc59}
.brand-links .menu-row:disabled{opacity:.72;cursor:default}
.brand-links .menu-row:disabled:hover{background:none}
#entry-label{display:block;white-space:nowrap}
#enter .entry-caption{font:bold clamp(12px,calc(var(--frame-w) * .052),23px)/1.2 Georgia,serif;letter-spacing:.045em;color:#f8d285;text-shadow:0 2px 2px #000c,0 -1px #ffeca6;text-transform:uppercase}
#enter,body[data-layout=portrait] #enter{padding:0 10% 2%;align-items:center}
.lock-tongue,.lock-jaws{display:none}
#language-switch{position:fixed;z-index:14;left:max(10px,env(safe-area-inset-left));top:max(9px,env(safe-area-inset-top));display:flex;gap:3px;border:1px solid #c9a45466;border-radius:4px;background:#04152bc9;padding:2px}
#language-switch button{border:0;background:transparent;color:#aabbd2;font:11px/1.3 system-ui;cursor:pointer;padding:5px 7px;border-radius:2px}
#language-switch button[aria-pressed=true]{background:#183969;color:#ffe1a4}
body.entering #language-switch{opacity:0;pointer-events:none}
@media(max-width:600px){#atmosphere summary>[data-i18n]{display:none}.brand-links{padding:0 9px}.brand-links .menu-row{min-height:59px;font-size:15px;gap:7px;grid-template-columns:25px 1fr 10px;padding-block:10px}.menu-icon{width:25px;height:30px}.brand-links .menu-copy small{font-size:10px}#language-switch{top:7px;left:7px}#language-switch button{padding:4px 5px;font-size:10px}}
@media(max-height:500px){.brand-links .menu-row{min-height:45px;padding-block:6px;font-size:14px}.brand-links .menu-copy small{font-size:10px;margin-top:2px}.menu-copy em{font-size:8px}.menu-icon{height:25px}#brand-drawer{top:calc(var(--rail-height)*.72 + 4px)}}

.menu-copy>[data-i18n]{font:inherit;color:inherit}
@media(min-height:700px) and (min-width:601px){.brand-links .menu-row{min-height:clamp(62px,calc(var(--menu-space) / 6),94px);font-size:20px}.menu-icon{width:34px;height:40px}.brand-links .menu-copy small{font-size:12px}}

body[data-presentation=crest] #brand:before{opacity:1}
body[data-presentation=crest] #brand:after{display:block}
.brand-links .menu-copy em{font:9px/1.2 system-ui;color:#aebfda;margin-top:4px}

body[data-presentation=crest] #brand:before{width:var(--banner-width)}
body[data-presentation=crest] #brand:after{width:var(--banner-width);left:calc((100% - var(--banner-width)) / 2)}
#brand-drawer,body[data-presentation=crest] #brand-drawer{width:calc(var(--banner-width) - 12px)}

/* v44: keep all six navigation rows visible on ordinary notebook displays. */
@media(min-height:700px) and (min-width:601px){
 .brand-links .menu-row{min-height:clamp(48px,calc(var(--menu-space) / 6),94px);font-size:clamp(14px,calc(var(--brand-w) * .072),18px);padding-block:6px}
 .brand-links .menu-copy small{font-size:clamp(10px,calc(var(--brand-w) * .048),12px);margin-top:3px}
 .brand-links .menu-copy em{font-size:8px;margin-top:3px}
 .brand-links .menu-row:disabled .menu-copy>span[data-i18n]{white-space:nowrap;font-size:.94em}
}

/* Header notch follows badge geometry rather than the footer button width. */
:root{--rail-height:calc(var(--header-center-w) * 119 / 370)}
.world-frame-top i:nth-child(2){flex-basis:var(--header-center-w)}

.world-frame-top i:nth-child(2){background-image:url('/living-entrance-v44/assets/header-center-v44.webp')}

/* v45: imagegen sapphire silk + actual Omni Flash curtain footage. */
#brand,body.brand-menu-open #brand{top:4px;width:var(--curtain-w);height:var(--curtain-h);transition:opacity .55s;}
body[data-presentation=crest] #brand:before,body[data-presentation=crest] #brand:after,#brand-toggle:before{display:none!important}
#curtain-still,#curtain-motion{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;filter:drop-shadow(0 4px 5px #02112660)}
#curtain-motion{opacity:0;}
#brand-toggle,body.brand-menu-open #brand-toggle{position:absolute;left:22%;top:6%;width:56%;height:23%;transform:none;transition:none;z-index:4;pointer-events:auto;}
body.brand-menu-open #brand-toggle{top:66%;height:29%;}
#brand-toggle .brand-seat{height:100%;}
#brand-toggle .brand-seat img,.brand-chevron{opacity:0;}
#brand-toggle:focus-visible{outline-offset:0;}
#brand-drawer,body[data-presentation=crest] #brand-drawer,body.brand-menu-open #brand-drawer{left:39%;top:9%;width:40%;height:58.3%;max-height:none;transform:none;transition:opacity .2s;display:block;}
#brand-drawer nav,.brand-links{height:100%;min-height:0;overflow:visible;max-height:none;}
.brand-links{padding:0;display:grid;grid-template-rows:repeat(6,minmax(0,1fr));}
.brand-links .menu-row{height:100%;min-height:0;display:grid;grid-template-columns:1fr 12px;gap:5px;padding:0 0 1%;border:0;font-size:var(--curtain-label-size);line-height:1.2;color:#fff0cf;text-shadow:0 1px 2px #001126;}
.brand-links .menu-icon{display:none;}
.brand-links .menu-copy>span[data-i18n],.brand-links .menu-row:disabled .menu-copy>span[data-i18n]{white-space:nowrap;font-size:1em;}
.brand-links .menu-copy small{font:var(--curtain-small-size)/1.3 Georgia,serif;margin-top:4px;color:#cbd9ef;}
.brand-links .menu-copy em{font:8px/1.2 system-ui;color:#acbfda;margin-top:3px;}
.brand-links .menu-arrow{font-size:24px;color:#edc168;}
.brand-links .menu-row:disabled{opacity:.74;}
.brand-links .menu-row:hover{background:#d8c8980c;}
body.curtain-moving #brand-drawer,body.brand-menu-open:not(.brand-latched) #brand-drawer{opacity:0;visibility:hidden;pointer-events:none;}
@media(max-height:600px){.brand-links .menu-copy small{display:none;}.brand-links .menu-copy em{margin-top:0;font-size:7px}.brand-links .menu-row{font-size:12px}.brand-links .menu-arrow{font-size:17px}}

/* v57: an explicit static closer stop; no camera-video transition. */
#guardian-stop{position:absolute;inset:0;background:#071225;z-index:3}#guardian-stop[hidden],#guardian-back[hidden]{display:none}#guardian-stop>img,#guardian-stop>canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}#guardian-stop>canvas{opacity:0;pointer-events:none}#guardian-back{position:fixed;left:18px;top:130px;z-index:14;padding:10px 14px;background:#07162de8;border:1px solid #c4a15d;color:#f8d285;font:15px Georgia,serif;cursor:pointer}body.guardian-view #brand,body.guardian-view #gateway,body.guardian-view #atmosphere{visibility:hidden;pointer-events:none}body.guardian-view #camera{inset:0;height:100%;transform:none!important;mask-image:none}body.guardian-view #entry{left:50%}body.guardian-view #guardian-back{top:85px}@media(max-width:600px){body.guardian-view #camera{inset:0}body.guardian-view #guardian-back{top:82px;left:12px;font-size:13px}}

#guardian-badge{display:none;position:absolute;top:3px;left:50%;transform:translateX(-50%);width:90px;height:auto;z-index:14;pointer-events:none}body.guardian-view #guardian-badge{display:block}

/* hold initial scene until media is ready */


/* v80: weather depth above all moving regions, including reduced-motion stills. */
.fog-veil{transition:none!important;pointer-events:none;opacity:0}
#guardian-badge{width:104px;top:5px}
