html{scroll-padding-top:0}.entry-chapter{height:calc(max(100svh,720px) + 35svh);min-height:0}.entry-scene{height:100svh;min-height:700px;--journey:0;--walk:0;--arrival:0;--reveal:0;--pose:0;cursor:grab;touch-action:pan-y}.journey-dragging{cursor:grabbing;user-select:none}.entry-background{transform:scale(calc(1 + var(--journey)*.62)) translateX(calc(var(--journey)*-2%));transform-origin:55% 47%;will-change:transform}.entry-shade{background:linear-gradient(90deg,#0a211adb,#122b1f7a 44%,#10231915 80%),linear-gradient(0deg,#092019d4,transparent 38%,#0a211a10 75%,#0a201878);opacity:calc(1 - var(--journey)*.12)}
.entry-copy{top:25%;left:7.5%;width:58%;max-width:780px;opacity:clamp(0,calc(1 - var(--journey)*4),1);transform:translateY(calc(var(--journey)*-85px));z-index:4}.entry-copy h1{font-size:clamp(42px,5.6vw,78px)}.entry-description{font-size:18px}.entry-actions{gap:27px}.entry-copy .broker-ad-identity{max-width:610px}.entry-broker{display:none}
.journey-actors{position:absolute;inset:0;z-index:5;pointer-events:none}.journey-host{position:absolute;left:calc(72% - var(--walk)*20% + var(--arrival)*34%);top:calc(89% - var(--walk)*23% + var(--arrival)*24%);height:min(61vh,620px);aspect-ratio:1/2;transform:translate(-50%,-100%) scale(calc(1 - var(--walk)*.53 + var(--arrival)*.02)) translateY(var(--stride));transform-origin:center bottom;will-change:transform,left,top}.actor-sprite{display:block;width:100%;height:100%;padding:0;border:0;background-color:transparent;background-repeat:no-repeat;background-size:400% 100%;background-position-x:calc(var(--pose)*100% / 3);background-position-y:0;filter:drop-shadow(0 12px 9px #0a1a1460)}.host-sprite{background-image:none}.actor-name{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);white-space:nowrap;letter-spacing:.08em;font-size:12px;color:#eee3c7;opacity:calc(1 - var(--walk)*1.6)}
.journey-kuma{position:absolute;left:calc(87% - var(--walk)*29% + var(--arrival)*33%);top:calc(90% - var(--walk)*22% + var(--arrival)*23%);height:min(29vh,280px);aspect-ratio:1/2;transform:translate(-50%,-100%) scale(calc(1 - var(--walk)*.48)) translateY(var(--stride));transform-origin:bottom center;will-change:transform,left,top}.kuma-sprite{background-image:url('/platform/kuma-alpha-20260927/sprites.png');pointer-events:auto;cursor:pointer}.kuma-sprite .kuma-rig{visibility:hidden}.journey-speech{position:absolute;left:70%;top:19%;background:#143329da;border:1px solid #cfbd9966;color:#f5eedb;font-size:14px;padding:14px 19px;line-height:1.8;max-width:270px;opacity:clamp(0,calc(1 - var(--journey)*4),1);transition:none}
.journey-controls{display:block!important;left:5%;right:5%;bottom:22px;z-index:12;cursor:default;letter-spacing:.06em}.journey-control-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;height:27px}.journey-control-label button{padding:0!important;font-size:12px!important}.journey-progress-row{display:flex;align-items:center;gap:18px;margin-top:9px}.journey-gesture{font-size:12px;color:#f1e3c8}.journey-progress-row input{flex:1;min-width:40px;height:24px;accent-color:#d9c194;cursor:ew-resize;background:transparent}.journey-progress-row #journeyPercent{font-size:12px;color:#eddfc4;min-width:34px}.journey-progress-row button{font-size:13px;padding:8px 0!important;min-width:80px;color:#faf0d8!important}
.journey-gallery{position:absolute;inset:110px 0 110px;z-index:8;color:#f7eedb;opacity:var(--reveal);transform:scale(calc(.28 + var(--reveal)*.72)) translateY(calc((1 - var(--reveal))*-22%));transform-origin:53% 42%;pointer-events:none;will-change:transform,opacity;cursor:default}.journey-gallery[aria-hidden=false]{pointer-events:auto}.journey-gallery:before{content:'';position:absolute;inset:-20% 0 -10%;background:linear-gradient(#09221926,#0b231b8a 50%,#092019e0);z-index:-1;pointer-events:none}.journey-gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 7%}.journey-gallery-heading p{font-size:11px;letter-spacing:.23em;color:#e0caa2;margin:0 0 9px}.journey-gallery-heading h2{font-family:'Noto Serif TC',serif;color:#f7eedb;font-size:32px;font-weight:500;letter-spacing:.08em;margin:0;line-height:1.4}.journey-gallery #exhibition{height:calc(100% - 72px);position:relative;margin-top:10px}.journey-gallery .exhibition-track{height:calc(100% - 58px);min-height:380px;perspective:1600px}.journey-gallery .exhibit{top:15px;width:min(44vw,630px);transform:translateX(calc(-50% + var(--position)*94% + var(--drag-shift,0px))) translateZ(calc(var(--depth)*-230px)) rotateY(calc(var(--position)*-20deg))}.journey-gallery .exhibit-frame{aspect-ratio:1.74;padding:8px}.journey-gallery .exhibit-caption{padding-top:12px}.journey-gallery .exhibit h3{font-size:27px;margin:5px 0}.journey-gallery .exhibit-meta{font-size:11px}.journey-gallery .exhibit-caption>p{margin:4px 0;font-size:13px;line-height:1.7}.journey-gallery .exhibit-caption .exhibit-broker{font-size:11px;max-width:95%}.journey-gallery .exhibit-open{font-size:12px;padding:9px 12px;bottom:18px;right:18px}.journey-gallery .home-cat-note,.journey-gallery .exhibition-help{display:none!important}.journey-gallery .exhibition-controls{height:48px;margin-top:4px}.journey-gallery .exhibition-controls>button:not(#showHomeList){height:42px;width:42px;font-size:21px;background:#15392fc9}.journey-gallery .exhibition-controls #showHomeList{background:#112d22b3;padding:10px 12px}.journey-gallery .exhibition-track.is-dragging .exhibit{transition:none;cursor:grabbing}
#journeyFilters{position:relative;z-index:30}#journeyFilters summary{list-style:none;font-size:13px;border:1px solid #e2cf9e88;padding:10px 14px;cursor:pointer;background:#113128d9;min-width:120px;color:#f6ecd4}#journeyFilters summary span{margin-left:22px}#journeyFilters .home-filters{position:absolute;right:0;top:44px;margin:0!important;padding:18px!important;width:300px;display:grid!important;grid-template-columns:1fr 1fr;background:#14372df5!important;border:1px solid #d3c19288!important;box-shadow:0 12px 40px #04181066!important}#journeyFilters .home-filters select{max-width:130px;min-width:0}#journeyFilters .home-filters label{min-width:0}.journey-gallery .home-empty{margin:50px 8%;background:#efe8d9;color:#193f2b;max-width:600px;padding:30px}.journey-ready:not(.journey-list) #homes{display:none}.journey-list #homes{display:block}.journey-list .home-list-heading{display:flex}.journey-ready .homes-section .section-heading{display:none}.journey-ready .homes-section .homes-note{padding-top:25px}.journey-static .entry-copy,.journey-static .journey-speech{display:none!important}.journey-static .entry-background{transform:none!important}.journey-static .journey-host,.journey-static .journey-kuma{display:none}.motion-off .entry-chapter{height:100svh;min-height:820px}.motion-off .entry-scene{min-height:820px}.journey-static .journey-gallery{opacity:1;transform:none!important}.motion-off .journey-controls .journey-gesture,.motion-off #journeyProgress,.motion-off #journeyPercent{display:none}.motion-off .journey-progress-row{justify-content:flex-end}
@media(min-width:761px) and (max-height:820px){.entry-scene{min-height:720px}.journey-gallery{inset:100px 0 98px}.journey-gallery .exhibit{width:min(38vw,490px)}.journey-gallery .exhibit h3{font-size:23px}.journey-gallery .exhibition-track{min-height:350px}.journey-gallery-heading h2{font-size:27px}.entry-copy{top:24%}.entry-copy h1{font-size:57px}.journey-host{height:56vh}.journey-speech{top:20%}}
@media(max-width:1050px) and (min-width:761px){.journey-host{left:calc(75% - var(--walk)*22% + var(--arrival)*33%);height:53vh}.journey-kuma{left:calc(91% - var(--walk)*31% + var(--arrival)*32%);height:25vh}.journey-speech{left:67%;top:21%}.entry-copy h1{font-size:52px}.entry-copy{width:62%}.journey-gallery .exhibit{width:56vw}.journey-gallery{inset:120px 0 110px}.journey-gallery .exhibition-track{min-height:380px}}
@media(max-width:760px){.entry-chapter{height:calc(max(100svh,740px) + 35svh);min-height:0}.entry-scene{height:100svh;min-height:790px}.entry-copy{top:19%;left:7%;width:86%}.entry-copy h1{font-size:clamp(31px,8.4vw,48px);line-height:1.5;margin-bottom:12px}.entry-description{font-size:13px}.entry-copy .eyebrow{font-size:9px;margin-bottom:10px}.entry-copy .broker-ad-identity{font-size:10px!important;margin:12px 0!important}.entry-actions{margin-top:12px}.entry-actions a{font-size:12px}.entry-primary{padding:6px 0;gap:16px}.journey-host{left:calc(64% - var(--walk)*18% + var(--arrival)*37%);top:calc(87% - var(--walk)*27% + var(--arrival)*27%);height:34vh;min-height:255px;max-height:335px}.journey-kuma{left:calc(85% - var(--walk)*28% + var(--arrival)*36%);top:calc(88% - var(--walk)*27% + var(--arrival)*28%);height:17vh;min-height:128px;max-height:170px}.actor-name{font-size:9px;bottom:-17px}.journey-speech{left:7%;top:auto;bottom:27%;font-size:11px;max-width:155px;padding:10px 12px;line-height:1.7}.journey-controls{left:6%;right:6%;bottom:17px}.journey-control-label{font-size:10px}.journey-control-label button{font-size:10px!important}.journey-progress-row{gap:8px;flex-wrap:wrap;margin-top:4px}.journey-gesture{font-size:10px;flex-basis:100%}.journey-progress-row input{height:20px}.journey-progress-row #journeyPercent{font-size:10px;min-width:30px}.journey-progress-row button{font-size:11px!important;min-width:74px}.journey-gallery{inset:145px 0 130px}.journey-gallery-heading{margin:0 7%;gap:10px;align-items:flex-start}.journey-gallery-heading p{font-size:8px;letter-spacing:.12em}.journey-gallery-heading h2{font-size:21px;letter-spacing:.03em}.journey-gallery #exhibition{height:calc(100% - 70px);margin-top:16px}.journey-gallery .exhibition-track{height:calc(100% - 55px);min-height:350px}.journey-gallery .exhibit{top:8px;width:78vw;transform:translateX(calc(-50% + var(--position)*98% + var(--drag-shift,0px))) translateZ(calc(var(--depth)*-170px)) rotateY(calc(var(--position)*-15deg))}.journey-gallery .exhibit-frame{aspect-ratio:1.3;padding:6px}.journey-gallery .exhibit-caption{padding-top:12px}.journey-gallery .exhibit h3{font-size:22px;line-height:1.45}.journey-gallery .exhibit-meta{font-size:10px}.journey-gallery .exhibit-caption>p{font-size:11px;line-height:1.6}.journey-gallery .exhibit-caption .exhibit-broker{font-size:10px}.journey-gallery .exhibit-open{font-size:11px;right:13px;bottom:13px;padding:8px 10px}.journey-gallery .exhibition-controls{gap:11px}.journey-gallery .exhibition-controls p{font-size:12px;min-width:56px}.journey-gallery .exhibition-controls>button:not(#showHomeList){width:38px;height:38px;font-size:20px}.journey-gallery .exhibition-controls #showHomeList{font-size:12px;margin-left:0;padding:9px}.journey-gallery .exhibit:not(.is-current) .exhibit-caption{opacity:0}#journeyFilters summary{min-width:76px;font-size:11px;padding:9px 8px;white-space:nowrap}#journeyFilters summary span{margin-left:7px}#journeyFilters .home-filters{width:280px;top:36px;padding:14px!important}.journey-gallery .home-empty{margin:25px 7%;padding:20px;font-size:14px}.motion-off .entry-chapter,.motion-off .entry-scene{min-height:820px}}
@media(prefers-reduced-motion:reduce){.entry-chapter{height:100svh;min-height:820px}.entry-scene{min-height:820px}.journey-gallery{transform:none!important;opacity:1}.journey-host,.journey-kuma,.entry-copy,.journey-speech{display:none!important}}
@media print{.journey-ready:not(.journey-list) #homes{display:block!important}.journey-gallery,.entry-chapter{display:none!important}.home-card-grid[hidden]{display:grid!important}.homes-section .section-heading{display:block!important}}
/* White-matte sprite sheets blend with the sunlit room without a rectangular edge. */
.journey-host,.journey-kuma{mix-blend-mode:multiply}.actor-sprite{filter:brightness(1.025);background-color:transparent}.journey-kuma{aspect-ratio:var(--kuma-width,490)/887}.kuma-sprite{background-size:calc(1774 / var(--kuma-width,490)*100%) 100%;background-position-x:var(--kuma-position,0%)}.journey-actors{z-index:9}.journey-gallery .exhibit:not(.is-current) .exhibit-caption{opacity:0}.actor-name{display:none}.entry-scene{overflow-anchor:none}html.journey-ready{overflow-anchor:none}
.journey-actors{mix-blend-mode:multiply}.journey-host,.journey-kuma{mix-blend-mode:normal}.journey-speech{z-index:10;pointer-events:none}
/* Clipping must not create an inner scroll container in the sticky scene. */
.entry-scene{overflow:clip}
.host-bow{position:absolute;inset:0;background:none no-repeat center bottom/contain;filter:brightness(1.025);opacity:0;pointer-events:none}.is-greeting .host-sprite{opacity:0}.is-greeting .host-bow{opacity:1;animation:hostGreeting 2.2s ease-in-out both}.kuma-sprite{position:relative}.is-greeting .kuma-sprite{background-image:none}.is-greeting .kuma-sprite:after{content:'';position:absolute;inset:0;background:url('/platform/kuma-alpha-20260927/wave.png') no-repeat 0 0/200% 100%;animation:kumaWelcome .46s steps(1,end) 4}.journey-host{height:min(65vh,650px)}@keyframes hostGreeting{0%,100%{transform:translateY(0)}30%,65%{transform:translateY(8px)}}@keyframes kumaWelcome{0%,100%{background-position-x:0}50%{background-position-x:100%}}@media(max-width:760px){.journey-host{height:36vh;max-height:350px}}
.entry-scene[data-pose='0'] .host-sprite{background-image:none;background-size:contain;background-position:center bottom}
.is-greeting .journey-kuma{aspect-ratio:3/4}
@media(max-width:760px){.entry-scene{min-height:740px}.journey-gallery{inset:140px 0 110px}.journey-gallery .exhibition-track{min-height:330px}.journey-gallery .exhibit-frame{aspect-ratio:1.42}.journey-speech{max-width:145px}}
/* Key the near-white studio matte at render time, retaining opaque suit and skin colors. */
.journey-actors{mix-blend-mode:normal}.actor-sprite,.host-bow{filter:url('#characterMatte') drop-shadow(0 5px 3px #10201630)}.journey-speech{top:14%}@media(max-width:760px){.journey-speech{top:auto}}

/* One identity-consistent five-pose Q-style host sheet: stand, bow, turn, left step, right step. */
.host-sprite,.entry-scene[data-pose='0'] .host-sprite,.host-bow{background-image:none;background-size:500% 100%;background-position-y:0;background-repeat:no-repeat}.host-sprite,.entry-scene[data-pose='0'] .host-sprite{background-position-x:calc(var(--host-pose,0)*25%)}.host-bow{background-position-x:25%}

/* The closing personal quote is accompanied by the same two guides. */
.contact-guides{height:145px;display:flex;align-items:flex-end;gap:7px;margin:0 0 17px;filter:url('#characterMatte')}.contact-guides span{display:block;flex:none;background-repeat:no-repeat;background-position:0 0}.contact-host{width:72px;height:144px;background-image:none;background-size:500% 100%}.contact-kuma{width:44px;height:80px;background-image:url('/platform/kuma-alpha-20260927/sprites.png');background-size:362.0408% 100%}@media(max-width:760px){.contact-guides{height:122px;margin-bottom:14px}.contact-host{width:61px;height:122px}.contact-kuma{width:38px;height:69px}}@media print{.contact-guides{display:none}}

/* As the tour arrives, the host offers the current home's dossier. */
.host-offer{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent none no-repeat center bottom/contain;filter:url('#characterMatte') drop-shadow(0 5px 3px #10201630);opacity:var(--offer,0);transform:translateX(calc((1 - var(--offer,0))*14px)) scale(calc(.95 + var(--offer,0)*.05));transform-origin:center bottom;cursor:pointer;pointer-events:auto}.host-offer:disabled{pointer-events:none}.host-offer:focus-visible{outline:2px solid #dbc69e;outline-offset:5px}.host-sprite{opacity:calc(1 - var(--offer,0))}.is-greeting .host-sprite{opacity:0}
.host-offer:disabled{opacity:var(--offer,0)}

/* The same host and Kuma travel as a pair on the neighborhood map. */
.map-guides{width:98px;height:106px;display:flex;align-items:flex-end;justify-content:center;gap:6px}.map-host{position:relative;z-index:2;flex:none;width:53px;height:106px;padding:0;border:0;border-radius:0;background:transparent none no-repeat 0 0/500% 100%;filter:url('#characterMatte');pointer-events:auto;cursor:pointer}.map-guides .cat-guide{flex:none;width:39px;height:71px;background:transparent url('/platform/kuma-alpha-20260927/sprites.png') no-repeat 0 0/362.0408% 100%;filter:url('#characterMatte')}.map-guides .cat-guide .kuma-rig{visibility:hidden}.map-guides .cat-ground{bottom:0}.map-guides.travelling .map-host{animation:mapHostSteps .24s steps(1,end) 3}.map-host:focus-visible{outline:2px solid #8b6437;outline-offset:3px}@keyframes mapHostSteps{0%,100%{background-position-x:75%;transform:translateY(0)}50%{background-position-x:100%;transform:translateY(-2px)}}@media(max-width:760px){.map-guides{width:80px;height:86px;gap:5px}.map-host{width:43px;height:86px}.map-guides .cat-guide{width:32px;height:58px}}

/* Original portrait is clipped and scaled as an SVG image layer; its face pixels are unchanged. */
.host-sprite,.entry-scene[data-pose='0'] .host-sprite,.host-bow,.host-offer,.map-host,.contact-host{background-image:none!important;filter:none}.exact-character{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}.contact-guides{filter:none}.contact-kuma{filter:url('#characterMatte')}.map-guides.travelling .map-host{animation:none}

/* One complete approved figure is used for every host; all old head/body pieces are removed. */
.host-character{display:block;width:100%;height:100%;overflow:hidden;pointer-events:none}.host-sprite,.host-bow,.host-offer,.map-host,.contact-host{background-image:none!important;filter:none!important}.is-greeting .host-bow{animation:none}.host-upper-bow{transform-origin:560px 768px}.is-greeting .host-upper-bow{animation:approvedHostBow 2.2s ease-in-out both}@keyframes approvedHostBow{0%,100%{transform:scaleY(1)}35%,60%{transform:scaleY(.90)}}


/* Nodding and glancing are whole-person poses with connected head, neck and shoulders. */
.host-sprite,.host-bow{transition:opacity 180ms ease}.is-greeting .host-upper-bow{animation:none}

/* Allow the complete presenting hand to extend beyond the body canvas. */
svg.host-character{overflow:visible}

/* Native alpha avoids document SVG filter differences on mobile browsers. */
.kuma-sprite{filter:drop-shadow(0 5px 3px #10201630)}.contact-kuma,.map-guides .cat-guide{filter:none}
